diff options
author | Mavridis Philippe <mavridisf@gmail.com> | 2025-04-09 15:51:42 +0300 |
---|---|---|
committer | Mavridis Philippe <mavridisf@gmail.com> | 2025-04-14 19:07:27 +0300 |
commit | 982cdfa5adaefa4f0d9dbba77a2853ef0a63a9e7 (patch) | |
tree | 00a67bf5ccad2c431b3485bb3c7f824d310d75ab /kpdf/shell/shell.cpp | |
parent | c7c1795c817c1f7b89046c6d9f24379143f0bf6b (diff) | |
download | tdegraphics-982cdfa5adaefa4f0d9dbba77a2853ef0a63a9e7.tar.gz tdegraphics-982cdfa5adaefa4f0d9dbba77a2853ef0a63a9e7.zip |
KPDF Shell: Fix bugs related to tabbing
* Update tab caption when user opens another document
* Fix activation event setting window/tab title to full URL
* Add tooltip with full path to tabs
Resolves #119.
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Diffstat (limited to 'kpdf/shell/shell.cpp')
-rw-r--r-- | kpdf/shell/shell.cpp | 20 |
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" |