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
|
||||
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_syms app/olive-editor > olive-editor.sym
|
||||
SYM_HEADER=($(head -n 1 olive-editor.sym)) # Read first line of symbol file
|
||||
SYM_DIR=appdir/usr/share/olive-editor/symbols/olive-editor/${SYM_HEADER[3]}
|
||||
dump_syms appdir/usr/bin/olive-editor > olive-editor.sym
|
||||
# HACK: For some reason, minidump_stackwalk reads identifier as all 0s
|
||||
SYM_DIR=appdir/usr/share/olive-editor/symbols/olive-editor/000000000000000000000000000000000
|
||||
mkdir -p "$SYM_DIR"
|
||||
mv olive-editor.sym "$SYM_DIR"
|
||||
|
||||
# Package AppImage
|
||||
VERSION=${GITHUB_SHA::8}
|
||||
export VERSION
|
||||
/usr/local/linuxdeployqt-x86_64.AppImage \
|
||||
appdir/usr/share/applications/org.olivevideoeditor.Olive.desktop \
|
||||
-appimage \
|
||||
-executable=appdir/usr/bin/crashpad_handler \
|
||||
-executable=appdir/usr/bin/minidump_stackwalk \
|
||||
-executable=appdir/usr/bin/olive-crashhandler \
|
||||
--appimage-extract-and-run
|
||||
$DOWNLOAD_TOOL https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage
|
||||
chmod +x appimagetool-x86_64.AppImage
|
||||
VERSION=${GITHUB_SHA::8} ./appimagetool-x86_64.AppImage appdir --appimage-extract-and-run
|
||||
|
||||
# Set env variables
|
||||
filename=$(echo Olive*.AppImage)
|
||||
pkgname="${filename/x86_64/Linux-x86_64}"
|
||||
mv "${filename}" "${pkgname}"
|
||||
@@ -316,7 +321,7 @@ jobs:
|
||||
working-directory: ${{ runner.workspace }}/build
|
||||
run: |
|
||||
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
|
||||
|
||||
- name: Build
|
||||
|
||||
@@ -371,15 +371,18 @@ void NodeViewItem::DrawNodeTitle(QPainter* painter, QString text, const QRectF&
|
||||
{
|
||||
QFontMetrics fm = painter->fontMetrics();
|
||||
|
||||
painter->setRenderHint(QPainter::SmoothPixmapTransform);
|
||||
|
||||
// Draw right or down arrow based on expanded state
|
||||
int icon_size = fm.height() / 2;
|
||||
int icon_padding = title_bar_rect_.height() / 2 - icon_size / 2;
|
||||
int icon_full_size = icon_size + icon_padding * 2;
|
||||
const QIcon& expand_icon = IsExpanded() ? icon::TriDown : icon::TriRight;
|
||||
expand_icon.paint(painter, QRect(title_bar_rect_.x() + icon_padding,
|
||||
title_bar_rect_.y() + icon_padding,
|
||||
icon_size,
|
||||
icon_size));
|
||||
int icon_size_scaled = icon_size * painter->transform().m11();
|
||||
painter->drawPixmap(QRect(title_bar_rect_.x() + icon_padding,
|
||||
title_bar_rect_.y() + icon_padding,
|
||||
icon_size,
|
||||
icon_size), expand_icon.pixmap(QSize(icon_size_scaled, icon_size_scaled)));
|
||||
|
||||
// Calculate how much space we have for text
|
||||
int item_width = title_bar_rect_.width();
|
||||
|
||||
@@ -50,9 +50,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
taskbar_interface_ = nullptr;
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
checked_graphics_vendor_ = false;
|
||||
#endif
|
||||
first_show_ = true;
|
||||
|
||||
// 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
|
||||
@@ -635,10 +633,10 @@ void MainWindow::showEvent(QShowEvent *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
|
||||
if (!checked_graphics_vendor_) {
|
||||
// Check for nouveau since that driver really doesn't work with Olive
|
||||
QOffscreenSurface surface;
|
||||
surface.create();
|
||||
@@ -651,9 +649,9 @@ void MainWindow::showEvent(QShowEvent *e)
|
||||
QMetaObject::invokeMethod(this, "ShowNouveauWarning", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
checked_graphics_vendor_ = true;
|
||||
}
|
||||
first_show_ = false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
|
||||
@@ -156,9 +156,7 @@ private:
|
||||
ITaskbarList3* taskbar_interface_;
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
bool checked_graphics_vendor_;
|
||||
#endif
|
||||
bool first_show_;
|
||||
|
||||
private slots:
|
||||
void FocusedPanelChanged(PanelWidget* panel);
|
||||
|
||||
@@ -78,5 +78,5 @@ cd breakpad
|
||||
fetch breakpad
|
||||
cd src
|
||||
./configure --prefix="${OLIVE_INSTALL_PREFIX}"
|
||||
make
|
||||
make install -j$(nproc)
|
||||
make -j$(nproc)
|
||||
make install
|
||||
|
||||
Reference in New Issue
Block a user