diff options
| -rw-r--r-- | kpdf/part.cpp | 8 | ||||
| -rw-r--r-- | kpdf/part.h | 6 | ||||
| -rw-r--r-- | kpdf/shell/shell.cpp | 20 | ||||
| -rw-r--r-- | kpdf/shell/shell.h | 1 |
4 files changed, 33 insertions, 2 deletions
diff --git a/kpdf/part.cpp b/kpdf/part.cpp index 97f1b5b4..fb56e58a 100644 --- a/kpdf/part.cpp +++ b/kpdf/part.cpp @@ -536,6 +536,14 @@ void Part::readMimeType(TDEIO::Job *, const TQString &mime) m_jobMime = mime; } +void Part::guiActivateEvent(KParts::GUIActivateEvent *e) +{ + if (e->activated()) + { + emitWindowCaption(); + } +} + void Part::emitWindowCaption() { // these setWindowCaption call only works for remote files diff --git a/kpdf/part.h b/kpdf/part.h index aa3b6659..7a5b2739 100644 --- a/kpdf/part.h +++ b/kpdf/part.h @@ -17,6 +17,7 @@ #define _KPDF_PART_H_ #include <tdeparts/browserextension.h> +#include <tdeparts/event.h> #include <tdeparts/part.h> #include <tqguardedptr.h> #include "core/document.h" @@ -89,8 +90,9 @@ protected: bool openFile(); bool openURL(const KURL &url); bool closeURL(); - // filter that watches for splitter size changes - bool eventFilter( TQObject * watched, TQEvent * e ); + void guiActivateEvent(KParts::GUIActivateEvent *e); + // filter that watches for splitter size changes + bool eventFilter( TQObject * watched, TQEvent * e ); protected slots: void openURLFromDocument(const KURL &url); diff --git a/kpdf/shell/shell.cpp b/kpdf/shell/shell.cpp index 27b3e37e..d948b68a 100644 --- a/kpdf/shell/shell.cpp +++ b/kpdf/shell/shell.cpp @@ -146,6 +146,7 @@ void Shell::openURL( const KURL & url ) if (url.isValid()) { m_tabs->changeTab(part->widget(), url.filename()); + m_tabs->setTabToolTip(part->widget(), url.prettyURL()); bool openOk = part->openURL(url); if (openOk) { @@ -346,6 +347,8 @@ KParts::ReadOnlyPart* Shell::createTab() part, TQ_SLOT(saveDocumentRestoreInfo(TDEConfig*))); connect(part, TQ_SIGNAL(enablePrintAction(bool)), m_printAction, TQ_SLOT(setEnabled(bool))); + connect(part, TQ_SIGNAL(setWindowCaption(const TQString&)), + this, TQ_SLOT(slotSetTabCaption(const TQString&))); part->widget()->show(); m_manager->addPart(part, true); @@ -608,4 +611,21 @@ void Shell::slotRemoveOtherTabs() } } +void Shell::slotSetTabCaption(const TQString &caption) +{ + KParts::ReadOnlyPart *part = const_cast<KParts::ReadOnlyPart*> + (static_cast<const KParts::ReadOnlyPart*>(TQObject::sender())); + if (!part) return; + + m_tabs->changeTab(part->widget(), caption.isEmpty() ? i18n("No file") : caption); + if (caption.isEmpty()) + { + m_tabs->removeTabToolTip(part->widget()); + } + else + { + m_tabs->setTabToolTip(part->widget(), part->url().pathOrURL()); + } +} + #include "shell.moc" diff --git a/kpdf/shell/shell.h b/kpdf/shell/shell.h index 28be65e3..6b4eb48b 100644 --- a/kpdf/shell/shell.h +++ b/kpdf/shell/shell.h @@ -115,6 +115,7 @@ namespace KPDF void slotMoveTabLeft(); void slotMoveTabRight(); void slotRemoveOtherTabs(); + void slotSetTabCaption(const TQString &caption); signals: void restoreDocument(TDEConfig* config); |
