┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2012-04-12 23:57:51 +0200
committerPeter Penz <[email protected]>2012-04-13 00:11:36 +0200
commit31ee4085c2b2c374158fb956ac376399ff375b5a (patch)
tree1e48eb6c8b01a044abab1a186621c47e1f7e8215 /src/dolphinmainwindow.cpp
parent2c4e59a16f0a30fb0b6d8ef6cb44efff27166416 (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.cpp34
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);
}