]> cloud.milkyroute.net Git - dolphin.git/commitdiff
DolphinViewContainer: Use KMessageWidget::MessageType instead of own type
authorFelix Ernst <felixernst@zohomail.eu>
Thu, 20 Jun 2024 10:35:51 +0000 (12:35 +0200)
committerFelix Ernst <felixernst@kde.org>
Mon, 24 Jun 2024 17:06:09 +0000 (17:06 +0000)
This slightly simplifies code and allows showing
KMessageWidget::Positive message boxes.

src/dolphinmainwindow.cpp
src/dolphinviewcontainer.cpp
src/dolphinviewcontainer.h

index 8fa891b32df748f8037aa16d2186af682daa8707..bc88d643ec88a20570b3be3a937f71740db1d683 100644 (file)
@@ -184,7 +184,7 @@ DolphinMainWindow::DolphinMainWindow()
 
     m_disabledActionNotifier = new DisabledActionNotifier(this);
     connect(m_disabledActionNotifier, &DisabledActionNotifier::disabledActionTriggered, this, [this](const QAction *, QString reason) {
-        m_activeViewContainer->showMessage(reason, DolphinViewContainer::Warning);
+        m_activeViewContainer->showMessage(reason, KMessageWidget::Warning);
     });
 
     setupDockWidgets();
@@ -562,7 +562,7 @@ void DolphinMainWindow::showTarget()
         KIO::StatJob *statJob = static_cast<KIO::StatJob *>(job);
 
         if (statJob->error()) {
-            m_activeViewContainer->showMessage(job->errorString(), DolphinViewContainer::Error);
+            m_activeViewContainer->showMessage(job->errorString(), KMessageWidget::Error);
         } else {
             KIO::highlightInFileManager({destinationUrl});
         }
@@ -801,7 +801,7 @@ void DolphinMainWindow::quit()
 
 void DolphinMainWindow::showErrorMessage(const QString &message)
 {
-    m_activeViewContainer->showMessage(message, DolphinViewContainer::Error);
+    m_activeViewContainer->showMessage(message, KMessageWidget::Error);
 }
 
 void DolphinMainWindow::slotUndoAvailable(bool available)
@@ -2898,7 +2898,7 @@ void DolphinMainWindow::UndoUiInterface::jobError(KIO::Job *job)
     DolphinMainWindow *mainWin = qobject_cast<DolphinMainWindow *>(parentWidget());
     if (mainWin) {
         DolphinViewContainer *container = mainWin->activeViewContainer();
-        container->showMessage(job->errorString(), DolphinViewContainer::Error);
+        container->showMessage(job->errorString(), KMessageWidget::Error);
     } else {
         KIO::FileUndoManager::UiInterface::jobError(job);
     }
index 0a3dfd8760a6b5dd62574fea68ebd3f594058995..fbad258ace5fd26067b0e22e71dd28b2d6e7b0b8 100644 (file)
@@ -109,7 +109,7 @@ DolphinViewContainer::DolphinViewContainer(const QUrl &url, QWidget *parent)
 #if !defined(Q_OS_WIN) && !defined(Q_OS_HAIKU)
     if (getuid() == 0) {
         // We must be logged in as the root user; show a big scary warning
-        showMessage(i18n("Running Dolphin as root can be dangerous. Please be careful."), Warning);
+        showMessage(i18n("Running Dolphin as root can be dangerous. Please be careful."), KMessageWidget::Warning);
     }
 #endif
 
@@ -366,9 +366,7 @@ void DolphinViewContainer::setSelectionModeEnabled(bool enabled, KActionCollecti
         connect(m_view, &DolphinView::selectionChanged, this, [this](const KFileItemList &selection) {
             m_selectionModeBottomBar->slotSelectionChanged(selection, m_view->url());
         });
-        connect(m_selectionModeBottomBar, &SelectionMode::BottomBar::error, this, [this](const QString &errorMessage) {
-            showErrorMessage(errorMessage);
-        });
+        connect(m_selectionModeBottomBar, &SelectionMode::BottomBar::error, this, &DolphinViewContainer::showErrorMessage);
         connect(m_selectionModeBottomBar, &SelectionMode::BottomBar::selectionModeLeavingRequested, this, [this]() {
             setSelectionModeEnabled(false);
         });
@@ -408,32 +406,18 @@ void DolphinViewContainer::slotSplitTabDisabled()
     }
 }
 
-void DolphinViewContainer::showMessage(const QString &msg, MessageType type)
+void DolphinViewContainer::showMessage(const QString &message, KMessageWidget::MessageType messageType)
 {
-    if (msg.isEmpty()) {
+    if (message.isEmpty()) {
         return;
     }
 
-    m_messageWidget->setText(msg);
+    m_messageWidget->setText(message);
 
     // TODO: wrap at arbitrary character positions once QLabel can do this
     // https://bugreports.qt.io/browse/QTBUG-1276
     m_messageWidget->setWordWrap(true);
-
-    switch (type) {
-    case Information:
-        m_messageWidget->setMessageType(KMessageWidget::Information);
-        break;
-    case Warning:
-        m_messageWidget->setMessageType(KMessageWidget::Warning);
-        break;
-    case Error:
-        m_messageWidget->setMessageType(KMessageWidget::Error);
-        break;
-    default:
-        Q_ASSERT(false);
-        break;
-    }
+    m_messageWidget->setMessageType(messageType);
 
     m_messageWidget->setWordWrap(false);
     const int unwrappedWidth = m_messageWidget->sizeHint().width();
@@ -828,18 +812,18 @@ void DolphinViewContainer::slotUrlNavigatorLocationChanged(const QUrl &url)
         if (url.scheme().startsWith(QLatin1String("http"))) {
             showMessage(i18nc("@info:status", // krazy:exclude=qmethods
                               "Dolphin does not support web pages, the web browser has been launched"),
-                        Information);
+                        KMessageWidget::Information);
         } else {
-            showMessage(i18nc("@info:status", "Protocol not supported by Dolphin, default application has been launched"), Information);
+            showMessage(i18nc("@info:status", "Protocol not supported by Dolphin, default application has been launched"), KMessageWidget::Information);
         }
 
         QDesktopServices::openUrl(url);
         redirect(QUrl(), m_urlNavigator->locationUrl(1));
     } else {
         if (!url.scheme().isEmpty()) {
-            showMessage(i18nc("@info:status", "Invalid protocol '%1'", url.scheme()), Error);
+            showMessage(i18nc("@info:status", "Invalid protocol '%1'", url.scheme()), KMessageWidget::Error);
         } else {
-            showMessage(i18nc("@info:status", "Invalid protocol"), Error);
+            showMessage(i18nc("@info:status", "Invalid protocol"), KMessageWidget::Error);
         }
         m_urlNavigator->goBack();
     }
@@ -914,9 +898,9 @@ void DolphinViewContainer::slotStatusBarZoomLevelChanged(int zoomLevel)
     m_view->setZoomLevel(zoomLevel);
 }
 
-void DolphinViewContainer::showErrorMessage(const QString &msg)
+void DolphinViewContainer::showErrorMessage(const QString &message)
 {
-    showMessage(msg, Error);
+    showMessage(message, KMessageWidget::Error);
 }
 
 void DolphinViewContainer::slotPlacesModelChanged()
@@ -950,7 +934,7 @@ void DolphinViewContainer::slotCurrentDirectoryRemoved()
         setUrl(newUrl);
     }
 
-    showMessage(xi18n("Current location changed, <filename>%1</filename> is no longer accessible.", location), Warning);
+    showMessage(xi18n("Current location changed, <filename>%1</filename> is no longer accessible.", location), KMessageWidget::Warning);
 }
 
 void DolphinViewContainer::slotOpenUrlFinished(KJob *job)
index 9628def633972b3a20763ebff6043bdcb194f685..55d00a3b80f49cc995d4719d592c4b46e6843ccf 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <KFileItem>
 #include <KIO/Job>
+#include <KMessageWidget>
 #include <KUrlNavigator>
 
 #include <QElapsedTimer>
@@ -25,7 +26,6 @@ namespace Admin
 class Bar;
 }
 class FilterBar;
-class KMessageWidget;
 class QAction;
 class QGridLayout;
 class QUrl;
@@ -53,8 +53,6 @@ class DolphinViewContainer : public QWidget
     Q_OBJECT
 
 public:
-    enum MessageType { Information, Warning, Error };
-
     DolphinViewContainer(const QUrl &url, QWidget *parent);
     ~DolphinViewContainer() override;
 
@@ -151,10 +149,9 @@ public:
     bool isSelectionModeEnabled() const;
 
     /**
-     * Shows the message \msg with the given type non-modal above
-     * the view-content.
+     * Shows the message \message with the given type \messageType non-modal above the view-content.
      */
-    void showMessage(const QString &msg, MessageType type);
+    void showMessage(const QString &message, KMessageWidget::MessageType messageType);
 
     /**
      * Refreshes the view container to get synchronized with the (updated) Dolphin settings.
@@ -393,9 +390,9 @@ private Q_SLOTS:
     void slotStatusBarZoomLevelChanged(int zoomLevel);
 
     /**
-     * Slot that calls showMessage(msg, Error).
+     * Slot that calls showMessage(message, KMessageWidget::Error).
      */
-    void showErrorMessage(const QString &msg);
+    void showErrorMessage(const QString &message);
 
     /**
      * Is invoked when a KFilePlacesModel has been changed