Merge branch 'master' of https://github.com/olive-editor/olive
This commit is contained in:
+18
-13
@@ -83,23 +83,28 @@ jobs:
|
|||||||
# Create install tree
|
# Create install tree
|
||||||
cmake --install app --prefix appdir/usr
|
cmake --install app --prefix appdir/usr
|
||||||
|
|
||||||
|
# Process AppDir
|
||||||
|
/usr/local/linuxdeployqt-x86_64.AppImage \
|
||||||
|
appdir/usr/share/applications/org.olivevideoeditor.Olive.desktop \
|
||||||
|
-bundle-non-qt-libs \
|
||||||
|
-executable=appdir/usr/bin/crashpad_handler \
|
||||||
|
-executable=appdir/usr/bin/minidump_stackwalk \
|
||||||
|
-executable=appdir/usr/bin/olive-crashhandler \
|
||||||
|
--appimage-extract-and-run
|
||||||
|
|
||||||
# Dump Crashpad symbols
|
# Dump Crashpad symbols
|
||||||
dump_syms app/olive-editor > olive-editor.sym
|
dump_syms appdir/usr/bin/olive-editor > olive-editor.sym
|
||||||
SYM_HEADER=($(head -n 1 olive-editor.sym)) # Read first line of symbol file
|
# HACK: For some reason, minidump_stackwalk reads identifier as all 0s
|
||||||
SYM_DIR=appdir/usr/share/olive-editor/symbols/olive-editor/${SYM_HEADER[3]}
|
SYM_DIR=appdir/usr/share/olive-editor/symbols/olive-editor/000000000000000000000000000000000
|
||||||
mkdir -p "$SYM_DIR"
|
mkdir -p "$SYM_DIR"
|
||||||
mv olive-editor.sym "$SYM_DIR"
|
mv olive-editor.sym "$SYM_DIR"
|
||||||
|
|
||||||
# Package AppImage
|
# Package AppImage
|
||||||
VERSION=${GITHUB_SHA::8}
|
$DOWNLOAD_TOOL https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage
|
||||||
export VERSION
|
chmod +x appimagetool-x86_64.AppImage
|
||||||
/usr/local/linuxdeployqt-x86_64.AppImage \
|
VERSION=${GITHUB_SHA::8} ./appimagetool-x86_64.AppImage appdir --appimage-extract-and-run
|
||||||
appdir/usr/share/applications/org.olivevideoeditor.Olive.desktop \
|
|
||||||
-appimage \
|
# Set env variables
|
||||||
-executable=appdir/usr/bin/crashpad_handler \
|
|
||||||
-executable=appdir/usr/bin/minidump_stackwalk \
|
|
||||||
-executable=appdir/usr/bin/olive-crashhandler \
|
|
||||||
--appimage-extract-and-run
|
|
||||||
filename=$(echo Olive*.AppImage)
|
filename=$(echo Olive*.AppImage)
|
||||||
pkgname="${filename/x86_64/Linux-x86_64}"
|
pkgname="${filename/x86_64/Linux-x86_64}"
|
||||||
mv "${filename}" "${pkgname}"
|
mv "${filename}" "${pkgname}"
|
||||||
@@ -316,7 +321,7 @@ jobs:
|
|||||||
working-directory: ${{ runner.workspace }}/build
|
working-directory: ${{ runner.workspace }}/build
|
||||||
run: |
|
run: |
|
||||||
brew install ninja
|
brew install ninja
|
||||||
PATH=$DEP_LOCATION:$PATH \
|
PATH=$DEP_LOCATION:$DEP_LOCATION/crashpad:$PATH \
|
||||||
cmake $GITHUB_WORKSPACE -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -G "${{ matrix.cmake-gen }}" -DCMAKE_INSTALL_PREFIX=$DEP_LOCATION
|
cmake $GITHUB_WORKSPACE -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -G "${{ matrix.cmake-gen }}" -DCMAKE_INSTALL_PREFIX=$DEP_LOCATION
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
|
|||||||
@@ -371,15 +371,18 @@ void NodeViewItem::DrawNodeTitle(QPainter* painter, QString text, const QRectF&
|
|||||||
{
|
{
|
||||||
QFontMetrics fm = painter->fontMetrics();
|
QFontMetrics fm = painter->fontMetrics();
|
||||||
|
|
||||||
|
painter->setRenderHint(QPainter::SmoothPixmapTransform);
|
||||||
|
|
||||||
// Draw right or down arrow based on expanded state
|
// Draw right or down arrow based on expanded state
|
||||||
int icon_size = fm.height() / 2;
|
int icon_size = fm.height() / 2;
|
||||||
int icon_padding = title_bar_rect_.height() / 2 - icon_size / 2;
|
int icon_padding = title_bar_rect_.height() / 2 - icon_size / 2;
|
||||||
int icon_full_size = icon_size + icon_padding * 2;
|
int icon_full_size = icon_size + icon_padding * 2;
|
||||||
const QIcon& expand_icon = IsExpanded() ? icon::TriDown : icon::TriRight;
|
const QIcon& expand_icon = IsExpanded() ? icon::TriDown : icon::TriRight;
|
||||||
expand_icon.paint(painter, QRect(title_bar_rect_.x() + icon_padding,
|
int icon_size_scaled = icon_size * painter->transform().m11();
|
||||||
title_bar_rect_.y() + icon_padding,
|
painter->drawPixmap(QRect(title_bar_rect_.x() + icon_padding,
|
||||||
icon_size,
|
title_bar_rect_.y() + icon_padding,
|
||||||
icon_size));
|
icon_size,
|
||||||
|
icon_size), expand_icon.pixmap(QSize(icon_size_scaled, icon_size_scaled)));
|
||||||
|
|
||||||
// Calculate how much space we have for text
|
// Calculate how much space we have for text
|
||||||
int item_width = title_bar_rect_.width();
|
int item_width = title_bar_rect_.width();
|
||||||
|
|||||||
@@ -50,9 +50,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
taskbar_interface_ = nullptr;
|
taskbar_interface_ = nullptr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Q_OS_LINUX
|
first_show_ = true;
|
||||||
checked_graphics_vendor_ = false;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Create empty central widget - we don't actually want a central widget (so we set its maximum
|
// Create empty central widget - we don't actually want a central widget (so we set its maximum
|
||||||
// size to 0,0) but some of Qt's docking/undocking fails without it
|
// size to 0,0) but some of Qt's docking/undocking fails without it
|
||||||
@@ -635,10 +633,10 @@ void MainWindow::showEvent(QShowEvent *e)
|
|||||||
{
|
{
|
||||||
QMainWindow::showEvent(e);
|
QMainWindow::showEvent(e);
|
||||||
|
|
||||||
QMetaObject::invokeMethod(Core::instance(), "CheckForAutoRecoveries", Qt::QueuedConnection);
|
if (first_show_) {
|
||||||
|
QMetaObject::invokeMethod(Core::instance(), "CheckForAutoRecoveries", Qt::QueuedConnection);
|
||||||
|
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
if (!checked_graphics_vendor_) {
|
|
||||||
// Check for nouveau since that driver really doesn't work with Olive
|
// Check for nouveau since that driver really doesn't work with Olive
|
||||||
QOffscreenSurface surface;
|
QOffscreenSurface surface;
|
||||||
surface.create();
|
surface.create();
|
||||||
@@ -651,9 +649,9 @@ void MainWindow::showEvent(QShowEvent *e)
|
|||||||
QMetaObject::invokeMethod(this, "ShowNouveauWarning", Qt::QueuedConnection);
|
QMetaObject::invokeMethod(this, "ShowNouveauWarning", Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
checked_graphics_vendor_ = true;
|
first_show_ = false;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|||||||
@@ -156,9 +156,7 @@ private:
|
|||||||
ITaskbarList3* taskbar_interface_;
|
ITaskbarList3* taskbar_interface_;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Q_OS_LINUX
|
bool first_show_;
|
||||||
bool checked_graphics_vendor_;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void FocusedPanelChanged(PanelWidget* panel);
|
void FocusedPanelChanged(PanelWidget* panel);
|
||||||
|
|||||||
@@ -78,5 +78,5 @@ cd breakpad
|
|||||||
fetch breakpad
|
fetch breakpad
|
||||||
cd src
|
cd src
|
||||||
./configure --prefix="${OLIVE_INSTALL_PREFIX}"
|
./configure --prefix="${OLIVE_INSTALL_PREFIX}"
|
||||||
make
|
make -j$(nproc)
|
||||||
make install -j$(nproc)
|
make install
|
||||||
|
|||||||
Reference in New Issue
Block a user