diff options
| author | Peter Penz <[email protected]> | 2012-04-12 23:57:51 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-04-13 00:11:36 +0200 |
| commit | 31ee4085c2b2c374158fb956ac376399ff375b5a (patch) | |
| tree | 1e48eb6c8b01a044abab1a186621c47e1f7e8215 /src/dolphinmainwindow.cpp | |
| parent | 2c4e59a16f0a30fb0b6d8ef6cb44efff27166416 (diff) | |
Use KMessageWidget for error- and information-messages
See http://agateau.com/2011/04/21/kde-ux-2011/ for more details.
This simplifies the statusbar in Dolphin a lot and allows to
do a proper eliding in case if status-messages are too long: In
this case a tooltip will show the whole status-message (thanks
to Wolfgang Mader for the initial patch!).
There is still missing some finetuning but the general approach
seems to work quite nice.
BUG: 249638
BUG: 245618
BUG: 146533
FIXED-IN: 4.9.0
Diffstat (limited to 'src/dolphinmainwindow.cpp')
| -rw-r--r-- | src/dolphinmainwindow.cpp | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index aca4d15b6..c62d685f6 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -331,29 +331,23 @@ void DolphinMainWindow::showCommand(CommandType command) DolphinStatusBar* statusBar = m_activeViewContainer->statusBar(); switch (command) { case KIO::FileUndoManager::Copy: - statusBar->setMessage(i18nc("@info:status", "Successfully copied."), - DolphinStatusBar::OperationCompleted); + statusBar->setText(i18nc("@info:status", "Successfully copied.")); break; case KIO::FileUndoManager::Move: - statusBar->setMessage(i18nc("@info:status", "Successfully moved."), - DolphinStatusBar::OperationCompleted); + statusBar->setText(i18nc("@info:status", "Successfully moved.")); break; case KIO::FileUndoManager::Link: - statusBar->setMessage(i18nc("@info:status", "Successfully linked."), - DolphinStatusBar::OperationCompleted); + statusBar->setText(i18nc("@info:status", "Successfully linked.")); break; case KIO::FileUndoManager::Trash: - statusBar->setMessage(i18nc("@info:status", "Successfully moved to trash."), - DolphinStatusBar::OperationCompleted); + statusBar->setText(i18nc("@info:status", "Successfully moved to trash.")); break; case KIO::FileUndoManager::Rename: - statusBar->setMessage(i18nc("@info:status", "Successfully renamed."), - DolphinStatusBar::OperationCompleted); + statusBar->setText(i18nc("@info:status", "Successfully renamed.")); break; case KIO::FileUndoManager::Mkdir: - statusBar->setMessage(i18nc("@info:status", "Created folder."), - DolphinStatusBar::OperationCompleted); + statusBar->setText(i18nc("@info:status", "Created folder.")); break; default: @@ -729,10 +723,7 @@ void DolphinMainWindow::quit() void DolphinMainWindow::showErrorMessage(const QString& message) { - if (!message.isEmpty()) { - DolphinStatusBar* statusBar = m_activeViewContainer->statusBar(); - statusBar->setMessage(message, DolphinStatusBar::Error); - } + m_activeViewContainer->showMessage(message, DolphinViewContainer::Error); } void DolphinMainWindow::slotUndoAvailable(bool available) @@ -1320,7 +1311,10 @@ void DolphinMainWindow::tabDropEvent(int tab, QDropEvent* event) const ViewTab& viewTab = m_viewTab[tab]; const DolphinView* view = viewTab.isPrimaryViewActive ? viewTab.primaryView->view() : viewTab.secondaryView->view(); - DragAndDropHelper::dropUrls(view->rootItem(), view->url(), event); + const QString error = DragAndDropHelper::dropUrls(view->rootItem(), view->url(), event); + if (!error.isEmpty()) { + activeViewContainer()->showMessage(error, DolphinViewContainer::Error); + } } } @@ -2061,7 +2055,7 @@ void DolphinMainWindow::refreshViews() void DolphinMainWindow::clearStatusBar() { - m_activeViewContainer->statusBar()->clear(); + m_activeViewContainer->statusBar()->resetToDefaultText(); } void DolphinMainWindow::connectViewSignals(DolphinViewContainer* container) @@ -2233,8 +2227,8 @@ void DolphinMainWindow::UndoUiInterface::jobError(KIO::Job* job) { DolphinMainWindow* mainWin= qobject_cast<DolphinMainWindow *>(parentWidget()); if (mainWin) { - DolphinStatusBar* statusBar = mainWin->activeViewContainer()->statusBar(); - statusBar->setMessage(job->errorString(), DolphinStatusBar::Error); + DolphinViewContainer* container = mainWin->activeViewContainer(); + container->showMessage(job->errorString(), DolphinViewContainer::Error); } else { KIO::FileUndoManager::UiInterface::jobError(job); } |
