Implement fixed tabs.

Fixed tabs are tabs that cannot be closed by the user.
Examples of such tabs are thwe first (main) tab in the Virus Browser
and the Scanner and some essential tabs in the main window.

Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
pull/24/head
Mavridis Philippe 4 years ago
parent d5e986620c
commit 100a93b70a
No known key found for this signature in database
GPG Key ID: F8D2D7E2F989A494

@ -9,6 +9,7 @@
#include <tqstyle.h> #include <tqstyle.h>
#include <tqclipboard.h> #include <tqclipboard.h>
#include <tqstringlist.h>
#include <tdeapplication.h> #include <tdeapplication.h>
#include <ktabbar.h> #include <ktabbar.h>
@ -16,12 +17,12 @@
#include <tdelocale.h> #include <tdelocale.h>
#include <kiconloader.h> #include <kiconloader.h>
using namespace KlamAV; using namespace KlamAV;
TabWidget::TabWidget(TQWidget * parent, const char *name) TabWidget::TabWidget(TQWidget * parent, const char *name, TQStringList fixed)
:KTabWidget(parent, name), m_CurrentMaxLength(30) :KTabWidget(parent, name), m_CurrentMaxLength(30)
{ {
fixedTabs = TQStringList(fixed);
setTabReorderingEnabled(true); setTabReorderingEnabled(true);
connect( this, SIGNAL( currentChanged(TQWidget *) ), this, connect( this, SIGNAL( currentChanged(TQWidget *) ), this,
SLOT( slotTabChanged(TQWidget *) ) ); SLOT( slotTabChanged(TQWidget *) ) );
@ -162,6 +163,11 @@ void TabWidget::contextMenu(int i, const TQPoint &p)
if(currentItemId == count() - 1) if(currentItemId == count() - 1)
popup.setItemEnabled(moveTabRight, false); popup.setItemEnabled(moveTabRight, false);
for( TQStringList::Iterator it = fixedTabs.begin(); it != fixedTabs.end(); ++it) {
if( TQString(*it) == label(currentItemId).replace('&',TQString::null) )
popup.setItemEnabled(closeTab, false);
}
popup.exec(p); popup.exec(p);
} }

@ -13,6 +13,7 @@
#include <ktabwidget.h> #include <ktabwidget.h>
#include <tqptrdict.h> #include <tqptrdict.h>
#include <tqstringlist.h>
namespace KlamAV namespace KlamAV
{ {
@ -22,7 +23,7 @@ class TabWidget:public KTabWidget
Q_OBJECT Q_OBJECT
public: public:
TabWidget(TQWidget * parent = 0, const char *name = 0); TabWidget(TQWidget * parent = 0, const char *name = 0, TQStringList fixedTabs = 0);
~TabWidget(); ~TabWidget();
void addFrame(Frame *f); void addFrame(Frame *f);
Frame *currentFrame(); Frame *currentFrame();
@ -55,6 +56,7 @@ class TabWidget:public KTabWidget
unsigned int m_CurrentMaxLength; unsigned int m_CurrentMaxLength;
int currentItemId; int currentItemId;
TQWidget* currentItem; TQWidget* currentItem;
TQStringList fixedTabs;
}; };
} }

Loading…
Cancel
Save