CustomFileDialog::CustomFileDialog( QWidget* parent ) : QFileDialog( parent, 0, false ) { QToolButton *p = new QToolButton( this ); p->setPixmap( QPixmap( globalbookmark_xpm ) ); QToolTip::add( p, tr( "Bookmarks" ) ); bookmarkMenu = new QPopupMenu( this ); connect( bookmarkMenu, SIGNAL( activated( int ) ), this, SLOT( bookmarkChosen( int ) ) ); addId = bookmarkMenu->insertItem( "Add bookmark" ); clearId = bookmarkMenu->insertItem( QPixmap(folder_trash), "Clear bookmarks" ); bookmarkMenu->insertSeparator(); p->setPopup( bookmarkMenu ); p->setPopupDelay(0); addToolButton( p, true ); QToolButton *b = new QToolButton( this ); QToolTip::add( b, tr( "Go Home!" ) ); b->setPixmap( QPixmap( homepage_xpm ) ); connect( b, SIGNAL( clicked() ), this, SLOT( goHome() ) ); addToolButton( b ); }
KexiDBDateTimeEdit::KexiDBDateTimeEdit(const QDateTime &datetime, QWidget *parent) : QWidget(parent), KexiFormDataItemInterface() { m_invalidState = false; m_cleared = false; m_readOnly = false; m_dateEdit = new Q3DateEdit(datetime.date(), this); m_dateEdit->setAutoAdvance(true); m_dateEdit->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); // m_dateEdit->setFixedWidth( QFontMetrics(m_dateEdit->font()).width("8888-88-88___") ); connect(m_dateEdit, SIGNAL(valueChanged(QDate)), this, SLOT(slotValueChanged())); connect(m_dateEdit, SIGNAL(valueChanged(QDate)), this, SIGNAL(dateTimeChanged())); QToolButton* btn = new QToolButton(this); btn->setText("..."); btn->setFixedWidth(QFontMetrics(btn->font()).width(" ... ")); btn->setPopupDelay(1); //1 ms m_timeEdit = new Q3TimeEdit(datetime.time(), this); m_timeEdit->setAutoAdvance(true); m_timeEdit->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); connect(m_timeEdit, SIGNAL(valueChanged(QTime)), this, SLOT(slotValueChanged())); connect(m_timeEdit, SIGNAL(valueChanged(QTime)), this, SIGNAL(dateTimeChanged())); #ifdef QDateTimeEditor_HACK m_dte_date = KexiUtils::findFirstChild<QDateTimeEditor>(m_dateEdit, "QDateTimeEditor"); m_dte_time = KexiUtils::findFirstChild<QDateTimeEditor>(m_timeEdit, "QDateTimeEditor"); #else m_dte_date = 0; #endif m_datePickerPopupMenu = new QMenu(0, "date_popup"); connect(m_datePickerPopupMenu, SIGNAL(aboutToShow()), this, SLOT(slotShowDatePicker())); m_datePicker = new KDatePicker(m_datePickerPopupMenu, QDate::currentDate(), 0); KDateTable *dt = KexiUtils::findFirstChild<KDateTable>(m_datePicker, "KDateTable"); if (dt) connect(dt, SIGNAL(tableClicked()), this, SLOT(acceptDate())); m_datePicker->setCloseButton(true); m_datePicker->installEventFilter(this); m_datePickerPopupMenu->insertItem(m_datePicker); btn->setPopup(m_datePickerPopupMenu); QHBoxLayout* layout = new QHBoxLayout(this); layout->addWidget(m_dateEdit, 0); layout->addWidget(btn, 0); layout->addWidget(m_timeEdit, 0); //layout->addStretch(1); setFocusProxy(m_dateEdit); }
toMain::toMain() : toMainWindow() { qApp->setMainWidget ( this ); setDockMenuEnabled ( true ); Edit = NULL; FileMenu = new QPopupMenu ( this ); FileMenu->insertItem ( QPixmap ( ( const char ** ) connect_xpm ), "&New Connection...", TO_NEW_CONNECTION ); FileMenu->insertItem ( QPixmap ( ( const char ** ) disconnect_xpm ), "&Close Connection", this, SLOT ( delConnection() ), 0, TO_CLOSE_CONNECTION ); FileMenu->insertSeparator(); FileMenu->insertItem ( QPixmap ( ( const char ** ) commit_xpm ), "&Commit Connection", TO_FILE_COMMIT ); FileMenu->insertItem ( QPixmap ( ( const char ** ) rollback_xpm ), "&Rollback Connection", TO_FILE_ROLLBACK ); FileMenu->insertItem ( "C&urrent Connection", TO_FILE_CURRENT ); FileMenu->insertItem ( QPixmap ( ( const char ** ) trash_xpm ), "Reread Object Cache", TO_FILE_CLEARCACHE ); FileMenu->insertSeparator(); FileMenu->insertItem ( QPixmap ( ( const char ** ) fileopen_xpm ), "&Open File...", TO_FILE_OPEN ); FileMenu->insertItem ( QPixmap ( ( const char ** ) filesave_xpm ), "&Save", TO_FILE_SAVE ); FileMenu->insertItem ( "Save A&s...", TO_FILE_SAVE_AS ); FileMenu->insertSeparator(); FileMenu->insertItem ( QPixmap ( ( const char ** ) print_xpm ), "&Print..", TO_FILE_PRINT ); FileMenu->insertSeparator(); FileMenu->insertItem ( "&Quit", TO_FILE_QUIT ); menuBar() ->insertItem ( "&File", FileMenu, TO_FILE_MENU ); FileMenu->setAccel ( Key_G | CTRL, TO_NEW_CONNECTION ); FileMenu->setAccel ( Key_O | CTRL, TO_FILE_OPEN ); FileMenu->setAccel ( Key_S | CTRL, TO_FILE_SAVE ); FileMenu->setAccel ( Key_W | CTRL, TO_FILE_COMMIT ); FileMenu->setAccel ( Key_R | CTRL, TO_FILE_ROLLBACK ); FileMenu->setAccel ( Key_U | CTRL, TO_FILE_CURRENT ); connect ( FileMenu, SIGNAL ( aboutToShow() ), this, SLOT ( editFileMenu() ) ); EditMenu = new QPopupMenu ( this ); EditMenu->insertItem ( QPixmap ( ( const char ** ) undo_xpm ), "&Undo", TO_EDIT_UNDO ); EditMenu->insertItem ( QPixmap ( ( const char ** ) redo_xpm ), "&Redo", TO_EDIT_REDO ); EditMenu->insertSeparator(); EditMenu->insertItem ( QPixmap ( ( const char ** ) cut_xpm ), "Cu&t", TO_EDIT_CUT ); EditMenu->insertItem ( QPixmap ( ( const char ** ) copy_xpm ), "&Copy", TO_EDIT_COPY ); EditMenu->insertItem ( QPixmap ( ( const char ** ) paste_xpm ), "&Paste", TO_EDIT_PASTE ); EditMenu->insertSeparator(); EditMenu->insertItem ( "&Search && Replace", TO_EDIT_SEARCH ); EditMenu->insertItem ( "Search &Next", TO_EDIT_SEARCH_NEXT ); EditMenu->insertItem ( "Select &All", TO_EDIT_SELECT_ALL ); EditMenu->insertItem ( "Read All &Items", TO_EDIT_READ_ALL ); EditMenu->insertSeparator(); EditMenu->insertItem ( "&Options...", TO_EDIT_OPTIONS ); EditMenu->setAccel ( Key_Z | CTRL, TO_EDIT_UNDO ); EditMenu->setAccel ( Key_Y | CTRL, TO_EDIT_REDO ); EditMenu->setAccel ( Key_X | CTRL, TO_EDIT_CUT ); EditMenu->setAccel ( Key_C | CTRL, TO_EDIT_COPY ); EditMenu->setAccel ( Key_V | CTRL, TO_EDIT_PASTE ); EditMenu->setAccel ( Key_F | CTRL, TO_EDIT_SEARCH ); EditMenu->setAccel ( Key_F3, TO_EDIT_SEARCH_NEXT ); connect ( EditMenu, SIGNAL ( aboutToShow() ), this, SLOT ( editFileMenu() ) ); menuBar() ->insertItem ( "&Edit", EditMenu, TO_EDIT_MENU ); std::map<QString, toTool *> &tools = toTool::tools(); QToolBar *toolbar = toAllocBar ( this, "Application", QString::null ); LoadButton = new QToolButton ( QPixmap ( ( const char ** ) fileopen_xpm ), "Load file into editor", "Load file into editor", this, SLOT ( loadButton() ), toolbar ); SaveButton = new QToolButton ( QPixmap ( ( const char ** ) filesave_xpm ), "Save file from editor", "Save file from editor", this, SLOT ( saveButton() ), toolbar ); PrintButton = new QToolButton ( QPixmap ( ( const char ** ) print_xpm ), "Print", "Print", this, SLOT ( printButton() ), toolbar ); PrintButton->setEnabled ( false ); LoadButton->setEnabled ( false ); SaveButton->setEnabled ( false ); toolbar->addSeparator(); UndoButton = new QToolButton ( QPixmap ( ( const char ** ) undo_xpm ), "Undo", "Undo", this, SLOT ( undoButton() ), toolbar ); RedoButton = new QToolButton ( QPixmap ( ( const char ** ) redo_xpm ), "Redo", "Redo", this, SLOT ( redoButton() ), toolbar ); CutButton = new QToolButton ( QPixmap ( ( const char ** ) cut_xpm ), "Cut to clipboard", "Cut to clipboard", this, SLOT ( cutButton() ), toolbar ); CopyButton = new QToolButton ( QPixmap ( ( const char ** ) copy_xpm ), "Copy to clipboard", "Copy to clipboard", this, SLOT ( copyButton() ), toolbar ); PasteButton = new QToolButton ( QPixmap ( ( const char ** ) paste_xpm ), "Paste from clipboard", "Paste from clipboard", this, SLOT ( pasteButton() ), toolbar ); UndoButton->setEnabled ( false ); RedoButton->setEnabled ( false ); CutButton->setEnabled ( false ); CopyButton->setEnabled ( false ); PasteButton->setEnabled ( false ); ToolsMenu = new QPopupMenu ( this ); #ifdef TOOL_TOOLBAR toolbar = new toAllocBar ( this, "Tools", QString::null ); #else toolbar->addSeparator(); #endif int toolID = TO_TOOLS; int lastPriorityPix = 0; int lastPriorityMenu = 0; SQLEditor = -1; DefaultTool = toolID; QString defName = toTool::globalConfig ( CONF_DEFAULT_TOOL, "" ); HelpMenu = new QPopupMenu ( this ); HelpMenu->insertItem ( "C&urrent Context", TO_HELP_CONTEXT ); HelpMenu->insertItem ( "&Contents", TO_HELP_CONTENTS ); HelpMenu->insertSeparator(); HelpMenu->insertItem ( "&About TOra", TO_HELP_ABOUT ); HelpMenu->insertItem ( "&License", TO_HELP_LICENSE ); HelpMenu->insertItem ( "&Quotes", TO_HELP_QUOTES ); HelpMenu->setAccel ( Key_F1, TO_HELP_CONTEXT ); if ( !toFreeware() ) { HelpMenu->insertSeparator(); HelpMenu->insertItem ( "&Register", TO_HELP_REGISTER ); } QPopupMenu *toolAbout = NULL; for ( std::map<QString, toTool *>::iterator i = tools.begin();i != tools.end();i++ ) { const QPixmap *pixmap = ( *i ).second->toolbarImage(); const char *toolTip = ( *i ).second->toolbarTip(); const char *menuName = ( *i ).second->menuItem(); QString tmp = ( *i ).second->name(); tmp += CONF_TOOL_ENABLE; if ( toTool::globalConfig ( tmp, "Yes" ).isEmpty() ) continue; if ( defName == menuName ) DefaultTool = toolID; int priority = ( *i ).second->priority(); if ( priority / 100 != lastPriorityPix / 100 && pixmap ) { toolbar->addSeparator(); lastPriorityPix = priority; } if ( priority / 100 != lastPriorityMenu / 100 && menuName ) { ToolsMenu->insertSeparator(); lastPriorityMenu = priority; } if ( pixmap ) { if ( !toolTip ) toolTip = ""; NeedConnection[new QToolButton ( *pixmap, toolTip, toolTip, ( *i ).second, SLOT ( createWindow ( void ) ), toolbar ) ] = ( *i ).second; } if ( menuName ) { if ( pixmap ) ToolsMenu->insertItem ( *pixmap, menuName, toolID ); else ToolsMenu->insertItem ( menuName, toolID ); ToolsMenu->setItemEnabled ( toolID, false ); } if ( ( *i ).second->hasAbout() && menuName ) { if ( !toolAbout ) { toolAbout = new QPopupMenu ( this ); HelpMenu->insertItem ( "Tools", toolAbout ); } if ( pixmap ) toolAbout->insertItem ( *pixmap, menuName, toolID + TO_ABOUT_ID_OFFSET ); else toolAbout->insertItem ( menuName, toolID + TO_ABOUT_ID_OFFSET ); } Tools[toolID] = ( *i ).second; toolID++; } #ifndef TOOL_TOOLBAR toolbar->setStretchableWidget ( new QLabel ( "", toolbar ) ); #endif new QToolButton ( QPixmap ( ( const char ** ) connect_xpm ), "Connect to database", "Connect to database", this, SLOT ( addConnection() ), toolbar ); DisconnectButton = new QToolButton ( QPixmap ( ( const char ** ) disconnect_xpm ), "Disconnect current connection", "Disconnect current connection", this, SLOT ( delConnection() ), toolbar ); DisconnectButton->setEnabled ( false ); toolbar->addSeparator(); NeedConnection[new QToolButton ( QPixmap ( ( const char ** ) commit_xpm ), "Commit connection", "Commit connection", this,SLOT ( commitButton() ),toolbar ) ] = NULL; NeedConnection[new QToolButton ( QPixmap ( ( const char ** ) rollback_xpm ), "Rollback connection", "Rollback connection", this,SLOT ( rollbackButton() ),toolbar ) ] = NULL; toolbar->addSeparator(); ConnectionSelection = new QComboBox ( toolbar ); ConnectionSelection->setFixedWidth ( 200 ); ConnectionSelection->setFocusPolicy ( NoFocus ); connect ( ConnectionSelection, SIGNAL ( activated ( int ) ), this, SLOT ( changeConnection() ) ); menuBar() ->insertItem ( "&Tools", ToolsMenu, TO_TOOLS_MENU ); WindowsMenu = new QPopupMenu ( this ); WindowsMenu->setCheckable ( true ); connect ( WindowsMenu, SIGNAL ( aboutToShow() ), this, SLOT ( windowsMenu() ) ); menuBar() ->insertItem ( "&Window", WindowsMenu, TO_WINDOWS_MENU ); menuBar() ->insertSeparator(); menuBar() ->insertItem ( "&Help", HelpMenu, TO_HELP_MENU ); char buffer[100]; sprintf ( buffer, DEFAULT_TITLE, TOVERSION ); setCaption ( buffer ); #ifdef TO_KDE KDockWidget *mainDock = createDockWidget ( buffer, QPixmap ( ( const char ** ) toramini_xpm ) ); Workspace = new QWorkspace ( mainDock ); mainDock->setWidget ( Workspace ); setView ( mainDock ); setMainDockWidget ( mainDock ); mainDock->setEnableDocking ( KDockWidget::DockNone ); #else Workspace = new QWorkspace ( this ); setCentralWidget ( Workspace ); #endif setIcon ( QPixmap ( ( const char ** ) toramini_xpm ) ); statusBar() ->message ( "Ready" ); menuBar() ->setItemEnabled ( TO_CLOSE_CONNECTION, false ); menuBar() ->setItemEnabled ( TO_FILE_COMMIT, false ); menuBar() ->setItemEnabled ( TO_FILE_ROLLBACK, false ); menuBar() ->setItemEnabled ( TO_FILE_CLEARCACHE, false ); DisconnectButton->setEnabled ( false ); for ( std::map<QToolButton *, toTool *>::iterator j = NeedConnection.begin(); j != NeedConnection.end();j++ ) ( *j ).first->setEnabled ( false ); connect ( menuBar(), SIGNAL ( activated ( int ) ), this, SLOT ( commandCallback ( int ) ) ); RowLabel = new QLabel ( statusBar() ); statusBar() ->addWidget ( RowLabel, 0, true ); RowLabel->setMinimumWidth ( 60 ); RowLabel->hide(); ColumnLabel = new QLabel ( statusBar() ); statusBar() ->addWidget ( ColumnLabel, 0, true ); ColumnLabel->setMinimumWidth ( 60 ); ColumnLabel->hide(); QToolButton *dispStatus = new toPopupButton ( statusBar() ); dispStatus->setIconSet ( QPixmap ( ( const char ** ) up_xpm ) ); statusBar() ->addWidget ( dispStatus, 0, true ); StatusMenu = new QPopupMenu ( dispStatus ); dispStatus->setPopup ( StatusMenu ); connect ( StatusMenu, SIGNAL ( aboutToShow() ), this, SLOT ( statusMenu() ) ); connect ( StatusMenu, SIGNAL ( activated ( int ) ), this, SLOT ( commandCallback ( int ) ) ); toolID = TO_TOOLS; for ( std::map<QString, toTool *>::iterator k = tools.begin();k != tools.end();k++ ) { ( *k ).second->customSetup ( toolID ); toolID++; } Search = NULL; if ( !toTool::globalConfig ( CONF_MAXIMIZE_MAIN, "Yes" ).isEmpty() ) showMaximized(); show(); QString welcome; do { welcome = toCheckLicense ( false ); } while ( welcome.isNull() ); toStatusMessage ( welcome, true ); connect ( &Poll, SIGNAL ( timeout() ), this, SLOT ( checkCaching() ) ); try { toNewConnection newConnection ( this, "First connection", true ); toConnection *conn; do { conn = NULL; if ( newConnection.exec() ) { conn = newConnection.makeConnection(); } else { break; } } while ( !conn ); if ( conn ) addConnection ( conn ); } TOCATCH connect ( toMainWidget() ->workspace(), SIGNAL ( windowActivated ( QWidget * ) ), this, SLOT ( windowActivated ( QWidget * ) ) ); }
CAdministrationWindow::CAdministrationWindow(QWidget* parent, CMySQLServer *m) : CMyWindow(parent, "CAdministrationWindow") { (void)statusBar(); blocked = false; myApp()->incCritical(); setCaption("[" + m->connectionName() + "] " + trUtf8("Administration Panel")); setIcon(getPixmapIcon("applicationIcon")); enableMessageWindow(true); if (!m->oneConnection()) { m_mysql = new CMySQLServer(m->connectionName(), messagePanel()); m_mysql->connect(); delete_mysql = true; } else { m_mysql = m; //POSIBLE BUG ... need to make m_mysql redirect messages & errors to this->messagePanel() also. Currently they are in consoleWindow() //probably need to disable the timer ! delete_mysql = false; } setCentralWidget( new QWidget( this, "qt_central_widget")); CAdministrationWindowLayout = new QGridLayout( centralWidget(), 1, 1, 4, 2, "CAdministrationWindowLayout"); tabWidget = new QTabWidget( centralWidget(), "tabWidget"); processList = new CProcessListTable(tabWidget, m_mysql); tabWidget->insertTab(processList, getPixmapIcon("showProcessListIcon"), tr("Process List"), SHOW_PROCESSLIST); status = new CServerStatusTable(tabWidget, m_mysql); tabWidget->insertTab(status, getPixmapIcon("showStatusIcon"), tr("Status"), SHOW_STATUS); variables = new CShowServerVariables(tabWidget, m_mysql); tabWidget->insertTab(variables, getPixmapIcon("showVariablesIcon"), tr("Variables"), SHOW_VARIABLES); save_menu = new QPopupMenu(this); connect(save_menu, SIGNAL(activated(int)), this, SLOT(save(int))); save_menu->insertItem(getPixmapIcon("showProcessListIcon"), tr("&Process List"), MENU_SAVE_PROCESSLIST); save_menu->insertItem(getPixmapIcon("showStatusIcon"), tr("&Status"), MENU_SAVE_STATUS); save_menu->insertItem(getPixmapIcon("showVariablesIcon"), tr("&Variables"), MENU_SAVE_VARIABLES); save_menu->insertItem(tr("&InnoDB Status"), MENU_SAVE_INNODB_STATUS); has_innodb = CInnoDBStatus::hasInnoDB(m_mysql); if (has_innodb) { innoDBStatus = new CInnoDBStatus(tabWidget, m_mysql); tabWidget->insertTab(innoDBStatus, tr("InnoDB Status"), SHOW_INNODB_STATUS); } else save_menu->setItemEnabled(MENU_SAVE_INNODB_STATUS, false); CAdministrationWindowLayout->addWidget( tabWidget, 0, 0 ); viewShowMessagesAction = new CAction (tr("Show Messages"), tr("Show &Messages"), Qt::CTRL + Qt::Key_M, this, "fileShowMessagesAction", true); viewShowMessagesAction->setParentMenuText(tr("View")); connect(viewShowMessagesAction, SIGNAL(toggled(bool)), this, SLOT(showMessages(bool))); CAction * fileCloseAction = new CAction (tr("Close"), getPixmapIcon("closeIcon"), tr("&Close"), 0, this, "fileCloseAction"); fileCloseAction->setParentMenuText(tr("File")); connect(fileCloseAction, SIGNAL(activated()), this, SLOT(close())); fileRefreshAction = new CAction (tr("Refresh"), getPixmapIcon("refreshIcon"), tr("&Refresh"), Qt::Key_F5, this, "fileRefreshAction"); fileRefreshAction->setParentMenuText(tr("File")); connect(fileRefreshAction, SIGNAL(activated()), this, SLOT(refresh())); actionKillProcessAction = new CAction (tr("Kill Process"), getPixmapIcon("killProcessIcon"), tr("&Kill Process"), Qt::CTRL + Qt::Key_K, this, "actionKillProcessAction"); actionKillProcessAction->setParentMenuText(tr("Action")); connect(actionKillProcessAction, SIGNAL(activated()), this, SLOT(killProcesses())); CAction * actionPingAction = new CAction (tr("Ping"), getPixmapIcon("pingIcon"), tr("&Ping"), Qt::CTRL + Qt::Key_P, this, "actionPingAction"); actionPingAction->setParentMenuText(tr("Action")); connect(actionPingAction, SIGNAL(activated()), this, SLOT(ping())); CAction * actionShutdownAction = new CAction (tr("Shutdown"), getPixmapIcon("serverShutdownIcon"), tr("&Shutdown"), 0, this, "actionShutdownAction"); actionShutdownAction->setParentMenuText(tr("Action")); connect(actionShutdownAction, SIGNAL(activated()), this, SLOT(shutdown())); fileTimerAction = new CAction (tr("Start Refresh Timer"), getPixmapIcon("timerIcon"), tr("Start Refresh &Timer"), Qt::CTRL + Qt::Key_T, this, "fileTimerAction", true); fileTimerAction->setParentMenuText(tr("File")); connect(fileTimerAction, SIGNAL(toggled(bool)), this, SLOT(fileTimerActionToggled(bool))); QPopupMenu *fileMenu = new QPopupMenu(this); QPopupMenu *actionMenu = new QPopupMenu(this); QPopupMenu *viewMenu = new QPopupMenu(this); connect(viewMenu, SIGNAL(aboutToShow()), this, SLOT(viewMenuAboutToShow())); fileMenu->insertItem(getPixmapIcon("saveIcon"), tr("Save"), save_menu); fileMenu->insertSeparator(); fileRefreshAction->addTo(fileMenu); fileMenu->insertSeparator(); fileTimerAction->addTo(fileMenu); fileMenu->insertSeparator(); fileCloseAction->addTo(fileMenu); menuBar()->insertItem(tr("&File"), fileMenu); viewShowMessagesAction->addTo(viewMenu); menuBar()->insertItem(tr("&View"), viewMenu); actionKillProcessAction->addTo(actionMenu); flush_menu = flushMenu(m_mysql->mysql()); connect(flush_menu, SIGNAL(activated(int)), this, SLOT(flush(int))); actionMenu->insertItem(getPixmapIcon("flushIcon"),tr("Flush"), flush_menu); actionPingAction->addTo(actionMenu); actionMenu->insertSeparator(); actionShutdownAction->addTo(actionMenu); menuBar()->insertItem(tr("&Action"), actionMenu); new CHotKeyEditorMenu(this, menuBar(), "HotKeyEditor"); QToolBar * actionToolBar = new QToolBar(tr("Action Bar"), this, Top); QToolButton * saveTypeButton = new QToolButton(actionToolBar); saveTypeButton->setPopup(save_menu); saveTypeButton->setPixmap(getPixmapIcon("saveIcon")); saveTypeButton->setTextLabel(tr("Save"), true); saveTypeButton->setPopupDelay(0); actionToolBar->addSeparator(); actionKillProcessAction->addTo(actionToolBar); QToolButton * flushTypeButton = new QToolButton(actionToolBar); flushTypeButton->setPopup(flush_menu); flushTypeButton->setPixmap(getPixmapIcon("flushIcon")); flushTypeButton->setTextLabel(tr("Flush"), true); flushTypeButton->setPopupDelay(0); actionPingAction->addTo(actionToolBar); actionToolBar->addSeparator(); actionShutdownAction->addTo(actionToolBar); QToolBar * refreshToolBar = new QToolBar(tr("Refresh Bar"), this, Top ); fileRefreshAction->addTo(refreshToolBar); refreshToolBar->addSeparator(); QLabel * delayLabel = new QLabel(refreshToolBar, "delayLabel" ); delayLabel->setMinimumSize(QSize(65, 0)); delayLabel->setText(tr("Refresh Rate (sec)")); delay = new QSpinBox(refreshToolBar, "delayBox"); delay->setMinimumSize(QSize( 50, 0)); delay->setMaxValue(7200); delay->setMinValue(1); CConfig *cfg = new CConfig(); delay->setValue(cfg->readNumberEntry("Refresh Rate", 30)); status->setTraditionalMode(strtobool(cfg->readStringEntry("Status Traditional Mode", "true"))); delete cfg; status->refresh(); fileTimerAction->addTo(refreshToolBar); refreshTimer = new QTimer(this); connect(refreshTimer, SIGNAL(timeout()), this, SLOT(refresh())); connect(tabWidget, SIGNAL(currentChanged (QWidget *)), this, SLOT(tabChanged(QWidget *))); myResize(600, 400); }
OFileViewFileListView::OFileViewFileListView( QWidget* parent, const QString& startDir, OFileSelector* sel) : QWidget( parent ), m_sel( sel ) { m_all = false; QVBoxLayout* lay = new QVBoxLayout( this ); m_currentDir = startDir; /* * now we add a special bar * One Button For Up * Home * Doc * And a dropdown menu with FileSystems * FUTURE: one to change dir with lineedit * Bookmarks * Create Dir */ QHBox* box = new QHBox(this ); box->setBackgroundMode( PaletteButton ); box->setSpacing( 0 ); QToolButton *btn = new QToolButton( box ); btn->setIconSet( Resource::loadIconSet("up") ); connect(btn, SIGNAL(clicked() ), this, SLOT( cdUP() ) ); btn = new QToolButton( box ); btn->setIconSet( Resource::loadIconSet("home") ); connect(btn, SIGNAL(clicked() ), this, SLOT( cdHome() ) ); btn = new QToolButton( box ); btn->setIconSet( Resource::loadIconSet("DocsIcon") ); connect(btn, SIGNAL(clicked() ), this, SLOT(cdDoc() ) ); m_btnNew = new QToolButton( box ); m_btnNew->setIconSet( Resource::loadIconSet("new") ); connect(m_btnNew, SIGNAL(clicked() ), this, SLOT(slotNew() ) ); m_btnClose = new QToolButton( box ); m_btnClose->setIconSet( Resource::loadIconSet("close") ); connect(m_btnClose, SIGNAL(clicked() ), selector(), SIGNAL(closeMe() ) ); btn = new QToolButton( box ); btn->setIconSet( Resource::loadIconSet("pcmcia") ); /* let's fill device parts */ QPopupMenu* pop = new QPopupMenu(this); connect(pop, SIGNAL( activated(int) ), this, SLOT(slotFSActivated(int) ) ); StorageInfo storage; const QList<FileSystem> &fs = storage.fileSystems(); QListIterator<FileSystem> it(fs); for ( ; it.current(); ++it ) { const QString disk = (*it)->name(); const QString path = (*it)->path(); m_dev.insert( disk, path ); pop->insertItem( disk ); } m_fsPop = pop; btn->setPopup( pop ); lay->addWidget( box ); m_view = new QListView( this ); m_view->installEventFilter(this); QPEApplication::setStylusOperation( m_view->viewport(), QPEApplication::RightOnHold); m_view->addColumn(" " ); m_view->addColumn(tr("Name"), 135 ); m_view->addColumn(tr("Size"), -1 ); m_view->addColumn(tr("Date"), 60 ); m_view->addColumn(tr("Mime Type"), -1 ); m_view->setSorting( 1 ); m_view->setAllColumnsShowFocus( TRUE ); lay->addWidget( m_view, 1000 ); connectSlots(); }