diff options
author | Andrej Shadura <andrew.shadura@collabora.co.uk> | 2020-06-03 15:50:28 +0200 |
---|---|---|
committer | Andrej Shadura <andrew.shadura@collabora.co.uk> | 2020-06-03 15:50:28 +0200 |
commit | c36420e0e05aed097b053416ccb273153d01d7e3 (patch) | |
tree | 7eaeb082f403b88ae24f6e00ca3e35b6ecd3ac25 /src/libaudqt | |
parent | 692e728c39bdf1514def23e83b2c40250f68ee98 (diff) |
New upstream version 4.0.4
Diffstat (limited to 'src/libaudqt')
-rw-r--r-- | src/libaudqt/about-qt.cc | 12 | ||||
-rw-r--r-- | src/libaudqt/equalizer-qt.cc | 6 | ||||
-rw-r--r-- | src/libaudqt/fileopener.cc | 8 | ||||
-rw-r--r-- | src/libaudqt/infopopup-qt.cc | 13 | ||||
-rw-r--r-- | src/libaudqt/infowin-qt.cc | 6 | ||||
-rw-r--r-- | src/libaudqt/log-inspector.cc | 6 | ||||
-rw-r--r-- | src/libaudqt/prefs-window-qt.cc | 4 | ||||
-rw-r--r-- | src/libaudqt/queue-manager-qt.cc | 6 | ||||
-rw-r--r-- | src/libaudqt/treeview.cc | 21 | ||||
-rw-r--r-- | src/libaudqt/url-opener-qt.cc | 6 |
10 files changed, 42 insertions, 46 deletions
diff --git a/src/libaudqt/about-qt.cc b/src/libaudqt/about-qt.cc index 4496e59..a80fd33 100644 --- a/src/libaudqt/about-qt.cc +++ b/src/libaudqt/about-qt.cc @@ -20,6 +20,7 @@ #include <QDialog> #include <QLabel> #include <QPlainTextEdit> +#include <QPointer> #include <QTabWidget> #include <QVBoxLayout> @@ -85,7 +86,7 @@ static QDialog * buildAboutWindow() return window; } -static QDialog * s_aboutwin = nullptr; +static QPointer<QDialog> s_aboutwin; namespace audqt { @@ -96,18 +97,11 @@ EXPORT void aboutwindow_show() { s_aboutwin = buildAboutWindow(); s_aboutwin->setAttribute(Qt::WA_DeleteOnClose); - - QObject::connect(s_aboutwin, &QObject::destroyed, - []() { s_aboutwin = nullptr; }); } window_bring_to_front(s_aboutwin); } -EXPORT void aboutwindow_hide() -{ - if (s_aboutwin) - delete s_aboutwin; -} +EXPORT void aboutwindow_hide() { delete s_aboutwin; } } // namespace audqt diff --git a/src/libaudqt/equalizer-qt.cc b/src/libaudqt/equalizer-qt.cc index e603c94..5458bf4 100644 --- a/src/libaudqt/equalizer-qt.cc +++ b/src/libaudqt/equalizer-qt.cc @@ -23,6 +23,7 @@ #include <QHBoxLayout> #include <QLabel> #include <QPainter> +#include <QPointer> #include <QPushButton> #include <QSlider> #include <QStyle> @@ -198,7 +199,7 @@ void EqualizerWindow::updateBands() m_sliders[i]->slider.setValue(values[i]); } -static EqualizerWindow * s_equalizer = nullptr; +static QPointer<EqualizerWindow> s_equalizer; namespace audqt { @@ -209,9 +210,6 @@ EXPORT void equalizer_show() { s_equalizer = new EqualizerWindow; s_equalizer->setAttribute(Qt::WA_DeleteOnClose); - - QObject::connect(s_equalizer, &QObject::destroyed, - []() { s_equalizer = nullptr; }); } window_bring_to_front(s_equalizer); diff --git a/src/libaudqt/fileopener.cc b/src/libaudqt/fileopener.cc index 1ab1e29..d1af3df 100644 --- a/src/libaudqt/fileopener.cc +++ b/src/libaudqt/fileopener.cc @@ -18,6 +18,7 @@ */ #include <QFileDialog> +#include <QPointer> #include <libaudcore/drct.h> #include <libaudcore/i18n.h> @@ -29,7 +30,7 @@ namespace audqt { -static aud::array<FileMode, QFileDialog *> s_dialogs; +static aud::array<FileMode, QPointer<QFileDialog>> s_dialogs; static void import_playlist(Playlist playlist, const String & filename) { @@ -50,7 +51,7 @@ static void export_playlist(Playlist playlist, const String & filename) EXPORT void fileopener_show(FileMode mode) { - QFileDialog *& dialog = s_dialogs[mode]; + QPointer<QFileDialog> & dialog = s_dialogs[mode]; if (!dialog) { @@ -114,9 +115,6 @@ EXPORT void fileopener_show(FileMode mode) break; } }); - - QObject::connect(dialog, &QObject::destroyed, - [&dialog]() { dialog = nullptr; }); } window_bring_to_front(dialog); diff --git a/src/libaudqt/infopopup-qt.cc b/src/libaudqt/infopopup-qt.cc index 30c1e39..a8c6f7a 100644 --- a/src/libaudqt/infopopup-qt.cc +++ b/src/libaudqt/infopopup-qt.cc @@ -30,6 +30,7 @@ #include <QGridLayout> #include <QLabel> #include <QPainter> +#include <QPointer> namespace audqt { @@ -103,6 +104,9 @@ void InfoPopup::add_fields(const Tuple & tuple) add_field(row++, _("Track"), int_to_str(track)); if (length > 0) add_field(row++, _("Length"), str_format_time(length)); + + if (row > 0) + m_grid.setRowStretch(row - 1, 1); } void InfoPopup::add_field(int row, const char * field, const char * value) @@ -111,13 +115,13 @@ void InfoPopup::add_field(int row, const char * field, const char * value) header->setTextFormat(Qt::RichText); header->setText( QString("<i><font color=\"#a0a0a0\">%1</font></i>").arg(field)); - m_grid.addWidget(header, row, 0, Qt::AlignRight); + m_grid.addWidget(header, row, 0, Qt::AlignRight | Qt::AlignTop); auto label = new QLabel(this); header->setTextFormat(Qt::RichText); auto html = QString(value).toHtmlEscaped(); label->setText(QString("<font color=\"#ffffff\">%1</font>").arg(html)); - m_grid.addWidget(label, row, 1, Qt::AlignLeft); + m_grid.addWidget(label, row, 1, Qt::AlignLeft | Qt::AlignTop); } void InfoPopup::art_ready(const char * filename) @@ -150,7 +154,7 @@ void InfoPopup::paintEvent(QPaintEvent *) p.fillRect(rect(), grad); } -static InfoPopup * s_infopopup; +static QPointer<InfoPopup> s_infopopup; static void infopopup_show(const String & filename, const Tuple & tuple) { @@ -158,9 +162,6 @@ static void infopopup_show(const String & filename, const Tuple & tuple) s_infopopup->deleteLater(); s_infopopup = new InfoPopup(filename, tuple); - - QObject::connect(s_infopopup, &QObject::destroyed, - []() { s_infopopup = nullptr; }); } EXPORT void infopopup_show(Playlist playlist, int entry) diff --git a/src/libaudqt/infowin-qt.cc b/src/libaudqt/infowin-qt.cc index 853e0cc..02781f9 100644 --- a/src/libaudqt/infowin-qt.cc +++ b/src/libaudqt/infowin-qt.cc @@ -28,6 +28,7 @@ #include <QLabel> #include <QPainter> #include <QPixmap> +#include <QPointer> #include <QPushButton> #include <QTextDocument> #include <QVBoxLayout> @@ -203,7 +204,7 @@ void InfoWindow::displayImage(const char * filename) art_request(filename, 2 * sizes.OneInch, 2 * sizes.OneInch)); } -static InfoWindow * s_infowin = nullptr; +static QPointer<InfoWindow> s_infowin; static void show_infowin(Index<PlaylistAddItem> && items, bool can_write) { @@ -211,9 +212,6 @@ static void show_infowin(Index<PlaylistAddItem> && items, bool can_write) { s_infowin = new InfoWindow; s_infowin->setAttribute(Qt::WA_DeleteOnClose); - - QObject::connect(s_infowin, &QObject::destroyed, - []() { s_infowin = nullptr; }); } s_infowin->fillInfo(std::move(items), can_write); diff --git a/src/libaudqt/log-inspector.cc b/src/libaudqt/log-inspector.cc index 460c178..a5d5440 100644 --- a/src/libaudqt/log-inspector.cc +++ b/src/libaudqt/log-inspector.cc @@ -25,6 +25,7 @@ #include <QDialogButtonBox> #include <QHBoxLayout> #include <QLabel> +#include <QPointer> #include <QPushButton> #include <QTreeView> #include <QVBoxLayout> @@ -255,7 +256,7 @@ LogEntryInspector::LogEntryInspector(QWidget * parent) : QDialog(parent) resize(6 * sizes.OneInch, 3 * sizes.OneInch); } -static LogEntryInspector * s_inspector = nullptr; +static QPointer<LogEntryInspector> s_inspector; void LogEntryInspector::setLogLevel(audlog::Level level) { @@ -273,9 +274,6 @@ EXPORT void log_inspector_show() { s_inspector = new LogEntryInspector; s_inspector->setAttribute(Qt::WA_DeleteOnClose); - - QObject::connect(s_inspector, &QObject::destroyed, - []() { s_inspector = nullptr; }); } window_bring_to_front(s_inspector); diff --git a/src/libaudqt/prefs-window-qt.cc b/src/libaudqt/prefs-window-qt.cc index 8f72ba4..96ef3ab 100644 --- a/src/libaudqt/prefs-window-qt.cc +++ b/src/libaudqt/prefs-window-qt.cc @@ -338,9 +338,7 @@ static const PreferencesWidget song_info_page_widgets[] = { WidgetCheck(N_("Show popup information"), WidgetBool(0, "show_filepopup_for_tuple")), WidgetSpin(N_("Popup delay (tenths of a second):"), - WidgetInt(0, "filepopup_delay"), {0, 100, 1}, WIDGET_CHILD), - WidgetCheck(N_("Show time scale for current song"), - WidgetBool(0, "filepopup_showprogressbar"), WIDGET_CHILD)}; + WidgetInt(0, "filepopup_delay"), {0, 100, 1}, WIDGET_CHILD)}; static const PreferencesWidget advanced_page_widgets[] = { WidgetLabel(N_("<b>Compatibility</b>")), diff --git a/src/libaudqt/queue-manager-qt.cc b/src/libaudqt/queue-manager-qt.cc index 8c5176b..2cf53bd 100644 --- a/src/libaudqt/queue-manager-qt.cc +++ b/src/libaudqt/queue-manager-qt.cc @@ -24,6 +24,7 @@ #include <QDialogButtonBox> #include <QHeaderView> #include <QItemSelectionModel> +#include <QPointer> #include <QPushButton> #include <QTreeView> #include <QVBoxLayout> @@ -206,7 +207,7 @@ void QueueManagerDialog::removeSelected() } } -static QueueManagerDialog * s_queuemgr = nullptr; +static QPointer<QueueManagerDialog> s_queuemgr; EXPORT void queue_manager_show() { @@ -214,9 +215,6 @@ EXPORT void queue_manager_show() { s_queuemgr = new QueueManagerDialog; s_queuemgr->setAttribute(Qt::WA_DeleteOnClose); - - QObject::connect(s_queuemgr, &QObject::destroyed, - []() { s_queuemgr = nullptr; }); } window_bring_to_front(s_queuemgr); diff --git a/src/libaudqt/treeview.cc b/src/libaudqt/treeview.cc index 188175d..add19ab 100644 --- a/src/libaudqt/treeview.cc +++ b/src/libaudqt/treeview.cc @@ -19,6 +19,7 @@ #include "treeview.h" +#include <QApplication> #include <QKeyEvent> #include <QMouseEvent> #include <QProxyStyle> @@ -41,8 +42,14 @@ namespace audqt class TreeViewStyleOverrides : public QProxyStyle { public: - int styleHint(StyleHint hint, - const QStyleOption * option = nullptr, + TreeViewStyleOverrides() + { + // detect and respond to application-wide style change + connect(qApp->style(), &QObject::destroyed, this, + &TreeViewStyleOverrides::resetBaseStyle); + } + + int styleHint(StyleHint hint, const QStyleOption * option = nullptr, const QWidget * widget = nullptr, QStyleHintReturn * returnData = nullptr) const override { @@ -51,12 +58,20 @@ public: return QProxyStyle::styleHint(hint, option, widget, returnData); } + +private: + void resetBaseStyle() + { + setBaseStyle(nullptr); + connect(qApp->style(), &QObject::destroyed, this, + &TreeViewStyleOverrides::resetBaseStyle); + } }; EXPORT TreeView::TreeView(QWidget * parent) : QTreeView(parent) { auto style = new TreeViewStyleOverrides; - connect(this, &QObject::destroyed, [style]() { delete style; }); + style->setParent(this); setStyle(style); // activate() is perhaps a bit redundant with activated() diff --git a/src/libaudqt/url-opener-qt.cc b/src/libaudqt/url-opener-qt.cc index 2ea837a..1542142 100644 --- a/src/libaudqt/url-opener-qt.cc +++ b/src/libaudqt/url-opener-qt.cc @@ -21,6 +21,7 @@ #include <QDialog> #include <QDialogButtonBox> #include <QLabel> +#include <QPointer> #include <QPushButton> #include <QVBoxLayout> @@ -126,7 +127,7 @@ static QDialog * buildUrlDialog(bool open) return dialog; } -static QDialog * s_dialog = nullptr; +static QPointer<QDialog> s_dialog; EXPORT void urlopener_show(bool open) { @@ -134,9 +135,6 @@ EXPORT void urlopener_show(bool open) { s_dialog = buildUrlDialog(open); s_dialog->setAttribute(Qt::WA_DeleteOnClose); - - QObject::connect(s_dialog, &QObject::destroyed, - []() { s_dialog = nullptr; }); } window_bring_to_front(s_dialog); |