summaryrefslogtreecommitdiffstats
path: root/kpdf/shell/shell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kpdf/shell/shell.cpp')
-rw-r--r--kpdf/shell/shell.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/kpdf/shell/shell.cpp b/kpdf/shell/shell.cpp
index a44e596c..e18d4bba 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"