fix #953 and some missing icon
This commit is contained in:
parent
df7e9109b1
commit
daf0ca4636
@ -554,7 +554,7 @@ void FormMain::setupIcons() {
|
||||
IconFactory* icon_theme_factory = qApp->icons();
|
||||
|
||||
// Setup icons of this main window.
|
||||
m_ui->m_actionDownloadManager->setIcon(icon_theme_factory->fromTheme(QSL("emblem-downloads")));
|
||||
m_ui->m_actionDownloadManager->setIcon(icon_theme_factory->fromTheme(QSL("emblem-downloads"), QSL("download")));
|
||||
m_ui->m_actionSettings->setIcon(icon_theme_factory->fromTheme(QSL("emblem-system"), QSL("applications-system")));
|
||||
m_ui->m_actionQuit->setIcon(icon_theme_factory->fromTheme(QSL("application-exit")));
|
||||
m_ui->m_actionRestart->setIcon(icon_theme_factory->fromTheme(QSL("view-refresh")));
|
||||
|
@ -74,7 +74,7 @@ void TabWidget::showDownloadManager() {
|
||||
// Download manager is not opened. Create tab with it.
|
||||
qApp->downloadManager()->setParent(this);
|
||||
addTab(qApp->downloadManager(),
|
||||
qApp->icons()->fromTheme(QSL("emblem-downloads")),
|
||||
qApp->icons()->fromTheme(QSL("emblem-downloads"), QSL("download")),
|
||||
tr("Downloads"),
|
||||
TabBar::TabType::DownloadManager);
|
||||
setCurrentIndex(count() - 1);
|
||||
|
@ -22,7 +22,8 @@ StatusBar::StatusBar(QWidget* parent) : QStatusBar(parent) {
|
||||
m_barProgressFeeds->setVisible(false);
|
||||
m_barProgressFeeds->setObjectName(QSL("m_barProgressFeeds"));
|
||||
|
||||
m_barProgressFeedsAction = new QAction(qApp->icons()->fromTheme(QSL("application-rss+xml")), tr("Feed update progress bar"), this);
|
||||
m_barProgressFeedsAction =
|
||||
new QAction(qApp->icons()->fromTheme(QSL("application-rss+xml")), tr("Feed update progress bar"), this);
|
||||
m_barProgressFeedsAction->setObjectName(QSL("m_barProgressFeedsAction"));
|
||||
|
||||
m_barProgressDownload = new ProgressBarWithText(this);
|
||||
@ -31,7 +32,9 @@ StatusBar::StatusBar(QWidget* parent) : QStatusBar(parent) {
|
||||
m_barProgressDownload->setVisible(false);
|
||||
m_barProgressDownload->setObjectName(QSL("m_barProgressDownload"));
|
||||
|
||||
m_barProgressDownloadAction = new QAction(qApp->icons()->fromTheme(QSL("emblem-downloads")), tr("File download progress bar"), this);
|
||||
m_barProgressDownloadAction = new QAction(qApp->icons()->fromTheme(QSL("emblem-downloads"), QSL("download")),
|
||||
tr("File download progress bar"),
|
||||
this);
|
||||
m_barProgressDownloadAction->setObjectName(QSL("m_barProgressDownloadAction"));
|
||||
|
||||
m_barProgressDownload->installEventFilter(this);
|
||||
@ -46,8 +49,7 @@ QList<QAction*> StatusBar::availableActions() const {
|
||||
QList<QAction*> actions = qApp->userActions();
|
||||
|
||||
// Now, add placeholder actions for custom stuff.
|
||||
actions << m_barProgressDownloadAction
|
||||
<< m_barProgressFeedsAction;
|
||||
actions << m_barProgressDownloadAction << m_barProgressFeedsAction;
|
||||
|
||||
return actions;
|
||||
}
|
||||
@ -62,21 +64,24 @@ void StatusBar::saveAndSetActions(const QStringList& actions) {
|
||||
}
|
||||
|
||||
QStringList StatusBar::defaultActions() const {
|
||||
return QString(GUI::StatusbarActionsDef).split(',',
|
||||
return QString(GUI::StatusbarActionsDef)
|
||||
.split(',',
|
||||
#if QT_VERSION >= 0x050F00 // Qt >= 5.15.0
|
||||
Qt::SplitBehaviorFlags::SkipEmptyParts);
|
||||
Qt::SplitBehaviorFlags::SkipEmptyParts);
|
||||
#else
|
||||
QString::SplitBehavior::SkipEmptyParts);
|
||||
QString::SplitBehavior::SkipEmptyParts);
|
||||
#endif
|
||||
}
|
||||
|
||||
QStringList StatusBar::savedActions() const {
|
||||
return qApp->settings()->value(GROUP(GUI),
|
||||
SETTING(GUI::StatusbarActions)).toString().split(',',
|
||||
return qApp->settings()
|
||||
->value(GROUP(GUI), SETTING(GUI::StatusbarActions))
|
||||
.toString()
|
||||
.split(',',
|
||||
#if QT_VERSION >= 0x050F00 // Qt >= 5.15.0
|
||||
Qt::SplitBehaviorFlags::SkipEmptyParts);
|
||||
Qt::SplitBehaviorFlags::SkipEmptyParts);
|
||||
#else
|
||||
QString::SplitBehavior::SkipEmptyParts);
|
||||
QString::SplitBehavior::SkipEmptyParts);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -174,7 +179,8 @@ bool StatusBar::eventFilter(QObject* watched, QEvent* event) {
|
||||
void StatusBar::clear() {
|
||||
while (!actions().isEmpty()) {
|
||||
QAction* act = actions().at(0);
|
||||
QWidget* widget = act->property("widget").isValid() ? static_cast<QWidget*>(act->property("widget").value<void*>()) : nullptr;
|
||||
QWidget* widget =
|
||||
act->property("widget").isValid() ? static_cast<QWidget*>(act->property("widget").value<void*>()) : nullptr;
|
||||
|
||||
if (widget != nullptr) {
|
||||
removeWidget(widget);
|
||||
|
@ -74,7 +74,8 @@ StandardFeedDetails::StandardFeedDetails(QWidget* parent) : QWidget(parent) {
|
||||
new QAction(qApp->icons()->fromTheme(QSL("image-x-generic")), tr("Load icon from file..."), this);
|
||||
m_actionUseDefaultIcon =
|
||||
new QAction(qApp->icons()->fromTheme(QSL("application-rss+xml")), tr("Use default icon from icon theme"), this);
|
||||
m_actionFetchIcon = new QAction(qApp->icons()->fromTheme(QSL("emblem-downloads")), tr("Fetch icon from feed"), this);
|
||||
m_actionFetchIcon =
|
||||
new QAction(qApp->icons()->fromTheme(QSL("emblem-downloads"), QSL("download")), tr("Fetch icon from feed"), this);
|
||||
m_iconMenu->addAction(m_actionFetchIcon);
|
||||
m_iconMenu->addAction(m_actionLoadIconFromFile);
|
||||
m_iconMenu->addAction(m_actionUseDefaultIcon);
|
||||
|
@ -28,6 +28,12 @@ if(QT_VERSION_MAJOR EQUAL 6)
|
||||
target_link_libraries(app PUBLIC
|
||||
Qt${QT_VERSION_MAJOR}::Core5Compat
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
target_link_libraries(app PUBLIC
|
||||
Qt${QT_VERSION_MAJOR}::GuiPrivate
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
|
@ -11,6 +11,9 @@
|
||||
#if defined(Q_OS_WIN)
|
||||
#if QT_VERSION_MAJOR == 5
|
||||
#include <QtPlatformHeaders/QWindowsWindowFunctions>
|
||||
#else
|
||||
#include <QWindow>
|
||||
#include <QtGui/qpa/qplatformwindow_p.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -94,6 +97,9 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
#if QT_VERSION_MAJOR == 5
|
||||
QWindowsWindowFunctions::setHasBorderInFullScreenDefault(true);
|
||||
|
||||
// NOTE: https://github.com/martinrotter/rssguard/issues/953 for Qt 5.
|
||||
QWindowsWindowFunctions::setWindowActivationBehavior(QWindowsWindowFunctions::AlwaysActivateWindow);
|
||||
#endif
|
||||
#endif
|
||||
@ -114,5 +120,15 @@ int main(int argc, char* argv[]) {
|
||||
qApp
|
||||
->parseCmdArgumentsFromOtherInstance(qApp->cmdParser()->positionalArguments().join(QSL(ARGUMENTS_LIST_SEPARATOR)));
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
#if QT_VERSION_MAJOR == 6
|
||||
// NOTE: Fixes https://github.com/martinrotter/rssguard/issues/953 for Qt 6.
|
||||
using QWindowsWindow = QNativeInterface::Private::QWindowsWindow;
|
||||
if (auto w_w = main_window.windowHandle()->nativeInterface<QWindowsWindow>()) {
|
||||
w_w->setHasBorderInFullScreen(true);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return Application::exec();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user