further development on rewrite

This commit is contained in:
itsmattkc
2019-06-17 16:05:51 -07:00
parent 9afbe92574
commit a468b3727d
314 changed files with 1504 additions and 147 deletions
+30
View File
@@ -0,0 +1,30 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
add_subdirectory(cursors)
add_subdirectory(graphics)
add_subdirectory(icons)
add_subdirectory(style)
set(OLIVE_RESOURCES
${OLIVE_RESOURCES}
PARENT_SCOPE
)
set(OLIVE_SOURCES
${OLIVE_SOURCES}
PARENT_SCOPE
)
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

+11074
View File
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 359 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

+11060
View File
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

+11048
View File
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

+11046
View File
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

+11038
View File
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 358 KiB

+21
View File
@@ -0,0 +1,21 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_RESOURCES
${OLIVE_RESOURCES}
ui/cursors/cursors.qrc
PARENT_SCOPE
)
+13
View File
@@ -0,0 +1,13 @@
<RCC>
<qresource prefix="/cursors">
<file>1_left.svg</file>
<file>1_right.svg</file>
<file>2.svg</file>
<file>3_left.svg</file>
<file>3_right.svg</file>
<file>4.svg</file>
<file>5.svg</file>
<file>5b.svg</file>
<file>5c.svg</file>
</qresource>
</RCC>
+21
View File
@@ -0,0 +1,21 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_RESOURCES
${OLIVE_RESOURCES}
ui/graphics/graphics.qrc
PARENT_SCOPE
)
+6
View File
@@ -0,0 +1,6 @@
<RCC>
<qresource prefix="/graphics">
<file>throbber.png</file>
<file>olive-splash.png</file>
</qresource>
</RCC>
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

+28
View File
@@ -0,0 +1,28 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set(OLIVE_SOURCES
${OLIVE_SOURCES}
ui/icons/icons.h
ui/icons/icons.cpp
PARENT_SCOPE
)
set(OLIVE_RESOURCES
${OLIVE_RESOURCES}
ui/icons/icons.qrc
PARENT_SCOPE
)
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1023 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

+63
View File
@@ -0,0 +1,63 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# genicons.sh
#
# A simple script that uses Inkscape to generate multiple PNG sizes from SVGs.
# It also generates a Qt resource file including all of them for usage in
# Olive.
#
# While Qt (and therefore Olive) can load SVG files into icons during runtime,
# this is slow and lags startup. This script is intended to mitigate that, and
# while it adds an extra step if an SVG is modified, it immensely benefits
# the end user.
OUTPUT_SIZES=( 16 32 64 128 )
if [ $# -ne 2 ]
then
echo Usage: $0 path-to-svgs qrc-file
echo
echo Example: $0 svg icons.qrc
exit 1
fi
SVGDIR=$1
QRCFILE=$2
truncate -s 0 $QRCFILE
echo "<RCC>" >> $QRCFILE
echo " <qresource prefix=\"/icons\">" >> $QRCFILE
for f in $1/*.svg
do
FNBASE=$(basename -s .svg $f)
for s in "${OUTPUT_SIZES[@]}"
do
OUTPUTFN=$FNBASE.$s.png
echo Creating $OUTPUTFN...
echo " <file>$OUTPUTFN</file>" >> $QRCFILE
inkscape -z -e $(pwd)/$OUTPUTFN -w $s -h $s $f
done
done
echo " </qresource>" >> $QRCFILE
echo "</RCC>" >> $QRCFILE
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 934 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

+59
View File
@@ -0,0 +1,59 @@
#include "icons.h"
#include <QDebug>
/// Works in conjunction with `genicons.sh` to generate and utilize icons of specific sizes
const int ICON_SIZE_COUNT = 4;
const int ICON_SIZES[] = {
16,
32,
64,
128
};
/// Internal icon library for use throughout Olive without having to regenerate constantly
QIcon olive::icon::GoToStart;
QIcon olive::icon::PrevFrame;
QIcon olive::icon::Play;
QIcon olive::icon::Pause;
QIcon olive::icon::NextFrame;
QIcon olive::icon::GoToEnd;
QIcon olive::icon::New;
QIcon olive::icon::Open;
QIcon olive::icon::Save;
QIcon olive::icon::Undo;
QIcon olive::icon::Redo;
QIcon olive::icon::TreeView;
QIcon olive::icon::ListView;
QIcon olive::icon::IconView;
void olive::icon::LoadAll()
{
GoToStart = Create("prev");
PrevFrame = Create("rew");
Play = Create("play");
Pause = Create("pause");
NextFrame = Create("ff");
GoToEnd = Create("next");
New = Create("new");
Open = Create("open");
Save = Create("save");
Undo = Create("undo");
Redo = Create("redo");
TreeView = Create("treeview");
ListView = Create("listview");
IconView = Create("iconview");
}
QIcon olive::icon::Create(const QString &name)
{
QIcon icon;
for (int i=0;i<ICON_SIZE_COUNT;i++) {
icon.addFile(QString(":/icons/%1.%2.png").arg(name, QString::number(ICON_SIZES[i])),
QSize(ICON_SIZES[i], ICON_SIZES[i]));
}
return icon;
}
+33
View File
@@ -0,0 +1,33 @@
#ifndef ICONS_H
#define ICONS_H
#include <QIcon>
namespace olive {
namespace icon {
// Playback Icons
extern QIcon GoToStart;
extern QIcon PrevFrame;
extern QIcon Play;
extern QIcon Pause;
extern QIcon NextFrame;
extern QIcon GoToEnd;
// Project Management Toolbar Icons
extern QIcon New;
extern QIcon Open;
extern QIcon Save;
extern QIcon Undo;
extern QIcon Redo;
extern QIcon TreeView;
extern QIcon ListView;
extern QIcon IconView;
QIcon Create(const QString& name);
void LoadAll();
}
}
#endif // ICONS_H
+204
View File
@@ -0,0 +1,204 @@
<RCC>
<qresource prefix="/icons">
<file>add-button.16.png</file>
<file>add-button.32.png</file>
<file>add-button.64.png</file>
<file>add-button.128.png</file>
<file>add-effect.16.png</file>
<file>add-effect.32.png</file>
<file>add-effect.64.png</file>
<file>add-effect.128.png</file>
<file>add-transition.16.png</file>
<file>add-transition.32.png</file>
<file>add-transition.64.png</file>
<file>add-transition.128.png</file>
<file>align-center.16.png</file>
<file>align-center.32.png</file>
<file>align-center.64.png</file>
<file>align-center.128.png</file>
<file>align-left.16.png</file>
<file>align-left.32.png</file>
<file>align-left.64.png</file>
<file>align-left.128.png</file>
<file>align-right.16.png</file>
<file>align-right.32.png</file>
<file>align-right.64.png</file>
<file>align-right.128.png</file>
<file>arrow.16.png</file>
<file>arrow.32.png</file>
<file>arrow.64.png</file>
<file>arrow.128.png</file>
<file>audiosource.16.png</file>
<file>audiosource.32.png</file>
<file>audiosource.64.png</file>
<file>audiosource.128.png</file>
<file>beam.16.png</file>
<file>beam.32.png</file>
<file>beam.64.png</file>
<file>beam.128.png</file>
<file>bold.16.png</file>
<file>bold.32.png</file>
<file>bold.64.png</file>
<file>bold.128.png</file>
<file>clock.16.png</file>
<file>clock.32.png</file>
<file>clock.64.png</file>
<file>clock.128.png</file>
<file>diamond.16.png</file>
<file>diamond.32.png</file>
<file>diamond.64.png</file>
<file>diamond.128.png</file>
<file>dirup.16.png</file>
<file>dirup.32.png</file>
<file>dirup.64.png</file>
<file>dirup.128.png</file>
<file>error.16.png</file>
<file>error.32.png</file>
<file>error.64.png</file>
<file>error.128.png</file>
<file>ff.16.png</file>
<file>ff.32.png</file>
<file>ff.64.png</file>
<file>ff.128.png</file>
<file>folder.16.png</file>
<file>folder.32.png</file>
<file>folder.64.png</file>
<file>folder.128.png</file>
<file>hand.16.png</file>
<file>hand.32.png</file>
<file>hand.64.png</file>
<file>hand.128.png</file>
<file>iconview.16.png</file>
<file>iconview.32.png</file>
<file>iconview.64.png</file>
<file>iconview.128.png</file>
<file>imagesource.16.png</file>
<file>imagesource.32.png</file>
<file>imagesource.64.png</file>
<file>imagesource.128.png</file>
<file>italic.16.png</file>
<file>italic.32.png</file>
<file>italic.64.png</file>
<file>italic.128.png</file>
<file>justify-center.16.png</file>
<file>justify-center.32.png</file>
<file>justify-center.64.png</file>
<file>justify-center.128.png</file>
<file>listview.16.png</file>
<file>listview.32.png</file>
<file>listview.64.png</file>
<file>listview.128.png</file>
<file>magnet.16.png</file>
<file>magnet.32.png</file>
<file>magnet.64.png</file>
<file>magnet.128.png</file>
<file>new.16.png</file>
<file>new.32.png</file>
<file>new.64.png</file>
<file>new.128.png</file>
<file>next.16.png</file>
<file>next.32.png</file>
<file>next.64.png</file>
<file>next.128.png</file>
<file>open.16.png</file>
<file>open.32.png</file>
<file>open.64.png</file>
<file>open.128.png</file>
<file>pause.16.png</file>
<file>pause.32.png</file>
<file>pause.64.png</file>
<file>pause.128.png</file>
<file>play.16.png</file>
<file>play.32.png</file>
<file>play.64.png</file>
<file>play.128.png</file>
<file>prev.16.png</file>
<file>prev.32.png</file>
<file>prev.64.png</file>
<file>prev.128.png</file>
<file>razor.16.png</file>
<file>razor.32.png</file>
<file>razor.64.png</file>
<file>razor.128.png</file>
<file>record.16.png</file>
<file>record.32.png</file>
<file>record.64.png</file>
<file>record.128.png</file>
<file>redo.16.png</file>
<file>redo.32.png</file>
<file>redo.64.png</file>
<file>redo.128.png</file>
<file>rew.16.png</file>
<file>rew.32.png</file>
<file>rew.64.png</file>
<file>rew.128.png</file>
<file>ripple.16.png</file>
<file>ripple.32.png</file>
<file>ripple.64.png</file>
<file>ripple.128.png</file>
<file>rolling.16.png</file>
<file>rolling.32.png</file>
<file>rolling.64.png</file>
<file>rolling.128.png</file>
<file>save.16.png</file>
<file>save.32.png</file>
<file>save.64.png</file>
<file>save.128.png</file>
<file>sequence.16.png</file>
<file>sequence.32.png</file>
<file>sequence.64.png</file>
<file>sequence.128.png</file>
<file>slide.16.png</file>
<file>slide.32.png</file>
<file>slide.64.png</file>
<file>slide.128.png</file>
<file>slip.16.png</file>
<file>slip.32.png</file>
<file>slip.64.png</file>
<file>slip.128.png</file>
<file>transition-tool.16.png</file>
<file>transition-tool.32.png</file>
<file>transition-tool.64.png</file>
<file>transition-tool.128.png</file>
<file>treeview.16.png</file>
<file>treeview.32.png</file>
<file>treeview.64.png</file>
<file>treeview.128.png</file>
<file>tri-down.16.png</file>
<file>tri-down.32.png</file>
<file>tri-down.64.png</file>
<file>tri-down.128.png</file>
<file>tri-left.16.png</file>
<file>tri-left.32.png</file>
<file>tri-left.64.png</file>
<file>tri-left.128.png</file>
<file>tri-right.16.png</file>
<file>tri-right.32.png</file>
<file>tri-right.64.png</file>
<file>tri-right.128.png</file>
<file>tri-up.16.png</file>
<file>tri-up.32.png</file>
<file>tri-up.64.png</file>
<file>tri-up.128.png</file>
<file>underline.16.png</file>
<file>underline.32.png</file>
<file>underline.64.png</file>
<file>underline.128.png</file>
<file>undo.16.png</file>
<file>undo.32.png</file>
<file>undo.64.png</file>
<file>undo.128.png</file>
<file>videosource.16.png</file>
<file>videosource.32.png</file>
<file>videosource.64.png</file>
<file>videosource.128.png</file>
<file>zoomin.16.png</file>
<file>zoomin.32.png</file>
<file>zoomin.64.png</file>
<file>zoomin.128.png</file>
<file>zoomout.16.png</file>
<file>zoomout.32.png</file>
<file>zoomout.64.png</file>
<file>zoomout.128.png</file>
</qresource>
</RCC>
Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Some files were not shown because too many files have changed in this diff Show More