Bug 108123

Summary: Mysterious close window 1 pixel invisible button on each window's tab
Product: [Applications] kst Reporter: Matthew Truch <matt>
Component: generalAssignee: kst
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 1.x   
Target Milestone: ---   
Platform: RedHat Enterprise Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Matthew Truch 2005-06-25 18:57:58 UTC
Version:           1.2.0_devel (using KDE KDE 3.4.1)
Installed from:    RedHat RPMs
OS:                Linux

In tab frame mode, there used to be a little 'x' to the left of the window title on the tab, and with this you could click to close that tab (window).  

At some point, this 'x' disappeared; however, there is still a 1 pixel region to the left of the text on the tab where you can click and close the tab.  You can find it by slowly hovering around the left of the text until the popup help text indicates you can click to close the tab.  

This is dangerous, as people have thought they were clicking to select a certain tab and instead that tab closed as they clicked on this hidden button.  It would be best if either the button didn't exist or was clearly visible.   Ideally, there would be a kst setting where one could turn the buttons on and off.
Comment 1 George Staikos 2005-06-27 19:39:12 UTC
I've seen many such quirks - they're KMDI bugs.  There are worse ones too.
Comment 2 George Staikos 2005-07-06 17:21:41 UTC
SVN commit 432193 by staikos:

work around kmdi brokenness (tiny close button).  Close button is now disabled
BUG: 108123


 M  +15 -1     kst.cpp  
 M  +2 -0      kst.h  


--- trunk/extragear/graphics/kst/kst/kst.cpp #432192:432193
@@ -35,6 +35,7 @@
 #include <kprogress.h>
 #include <kstandarddirs.h>
 #include <kstatusbar.h>
+#include <ktabwidget.h>
 #include <qdatetime.h>
 
 // application specific includes
@@ -158,13 +159,16 @@
   connect(KstEventMonitorI::globalInstance(), SIGNAL(modified()), doc, SLOT(wasModified()));
   connect(KstImageDialogI::globalInstance(), SIGNAL(modified()), doc, SLOT(wasModified()));
   connect(KstMatrixDialogI::globalInstance(), SIGNAL(modified()), doc, SLOT(wasModified()));
+  connect(this, SIGNAL(mdiModeHasBeenChangedTo(KMdi::MdiMode)), SLOT(fixKMdi()));
 
   initActions();
   readOptions();
   toggleMouseMode();
   toggleGfxMode();
   XYZoomAction->setChecked(true);
-  
+
+  fixKMdi();
+
   _updateThread = new UpdateThread(doc);
   _updateThread->setUpdateTime(KstSettings::globalSettings()->plotUpdateTimer);
   _updateThread->start();
@@ -2123,10 +2127,12 @@
 #endif
 }
 
+
 const QStringList KstApp::recentFiles() const {
   return recent->items();
 }
 
+
 void KstApp::showQuickStartDialog() {
 #ifdef KST_QUICKSTART_DLG  
   if (KstSettings::globalSettings()->showQuickStart) {
@@ -2135,5 +2141,13 @@
 #endif
 }
 
+
+void KstApp::fixKMdi() {
+  KTabWidget *tw = tabWidget();
+  if (tw) {
+    tw->setHoverCloseButton(false);
+  }
+}
+
 #include "kst.moc"
 // vim: ts=2 sw=2 et
--- trunk/extragear/graphics/kst/kst/kst.h #432192:432193
@@ -203,6 +203,8 @@
     void slotSettingsChanged();
     void addNewWindowMenu();
 
+    void fixKMdi();
+
   public slots:
     void fromEnd();