SelectCPUFrame::SelectCPUFrame() { for (int i = 0; i < NUM_FRAME_BUTTONS; i++) FRAME_BUTTONS[i].button = new menu::Button(FRAME_BUTTONS[i].buttonStyle, &FRAME_BUTTONS[i].buttonString, FRAME_BUTTONS[i].x, FRAME_BUTTONS[i].y, FRAME_BUTTONS[i].width, FRAME_BUTTONS[i].height); for (int i = 0; i < NUM_FRAME_BUTTONS; i++) { if (FRAME_BUTTONS[i].focusUp != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_UP, FRAME_BUTTONS[FRAME_BUTTONS[i].focusUp].button); if (FRAME_BUTTONS[i].focusDown != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_DOWN, FRAME_BUTTONS[FRAME_BUTTONS[i].focusDown].button); if (FRAME_BUTTONS[i].focusLeft != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_LEFT, FRAME_BUTTONS[FRAME_BUTTONS[i].focusLeft].button); if (FRAME_BUTTONS[i].focusRight != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_RIGHT, FRAME_BUTTONS[FRAME_BUTTONS[i].focusRight].button); FRAME_BUTTONS[i].button->setActive(true); if (FRAME_BUTTONS[i].clickedFunc) FRAME_BUTTONS[i].button->setClicked(FRAME_BUTTONS[i].clickedFunc); if (FRAME_BUTTONS[i].returnFunc) FRAME_BUTTONS[i].button->setReturn(FRAME_BUTTONS[i].returnFunc); add(FRAME_BUTTONS[i].button); menu::Cursor::getInstance().addComponent(this, FRAME_BUTTONS[i].button, FRAME_BUTTONS[i].x, FRAME_BUTTONS[i].x+FRAME_BUTTONS[i].width, FRAME_BUTTONS[i].y, FRAME_BUTTONS[i].y+FRAME_BUTTONS[i].height); } setDefaultFocus(FRAME_BUTTONS[0].button); setBackFunc(Func_ReturnFromSelectCPUFrame); setEnabled(true); }
//create action ,connect the signals and slots void LoginServerDialog::createActions() { //connect the login btn to the dashboard connect(ui->loginBtn,SIGNAL(clicked()), this,SLOT(showDashboardSlot())); //connect the setting btn to the server setting diaglog connect(ui->settingBtn,SIGNAL(clicked()), this,SLOT(showSettingServerSlot())); //connect setting Server dialog ,while the dialog emit the imclosed signals connect(settingServer,SIGNAL(imClosed()), this,SLOT(setDefaultFocus())); //close database while the dashboard emit close signal connect(dashboard,SIGNAL(closedDashboard()), this,SLOT(closeDB())); }
//get server ip and port bool LoginServerDialog::getServerSettingConfData() { QSettings teachingroomsetting("teachingroomServer",qAppName()); teachingroomsetting.beginGroup(tr("SettingServer")); serverIP = teachingroomsetting.value(tr("ip")).toString(); serverPort = teachingroomsetting.value(tr("port")).toString(); teachingroomsetting.endGroup(); if(serverIP.isEmpty()||serverIP.isNull()||serverPort.isEmpty()||serverPort.isNull()){ QMessageBox::question(this,SYSTEMPROMPT,SETTINGSERVERPROMPT,QMessageBox::Ok); setDefaultFocus(); return false; } else{ return true; } }
LoginServerDialog::LoginServerDialog(QWidget *parent) : QDialog(parent), ui(new Ui::LoginServerDialog) { //change profile ui->setupUi(this); setWindowFlags(Qt::WindowTitleHint); //setting style ServerStyle *style = new ServerStyle(); style->styleWork(this); dashboard = new ServerDashboard; style->styleWork(dashboard); settingServer = new ServerSettingDialog; style->styleWork(settingServer); database = NULL; //create actions createActions(); setDefaultFocus(); }
void MainWindow::getSettings(){ /* * Getting application settings */ QVariant val; val = CoreLib->getSetting("MainWindow", "size", false, QSize(600, 500)); this->resize(val.toSize()); val = CoreLib->getSetting("MainWindow", "pos", false, QPoint(100, 100)); this->move(val.toPoint()); QList<int> a; a.append(CoreLib->getSetting("MainWindow", "splitterSize0", false, 170).toInt()); a.append(CoreLib->getSetting("MainWindow", "splitterSize1", false, 379).toInt()); splitter->setSizes(a); if (CoreLib->getSetting("app", "showTrareyIcon", false).toBool()){ trayIcon->show(); if (CoreLib->getSetting("app", "minimizeToTray", false).toBool()){ this->setHidden(true); } else { this->setHidden(CoreLib->getSetting("MainWindow", "hidden", false).toBool()); } } else { trayIcon->hide(); } CoreLib->checkSettings(); emit(setDefaultFocus(CoreLib->getSetting("LastPrefix", "prefix", false).toString(), CoreLib->getSetting("LastPrefix", "dir", false).toString())); #ifndef _OS_DARWIN_ //make root if (CoreLib->getSetting("Plugins", "enableMenuDesktop", false, true).toBool()){ sys_menu.create_dir_info(); sys_menu.generateSystemMenu(); } #endif return; }
ConfigureButtonsFrame::ConfigureButtonsFrame() { for (int i = 0; i < NUM_FRAME_BUTTONS; i++) FRAME_BUTTONS[i].button = new menu::Button(FRAME_BUTTONS[i].buttonStyle, &FRAME_BUTTONS[i].buttonString, FRAME_BUTTONS[i].x, FRAME_BUTTONS[i].y, FRAME_BUTTONS[i].width, FRAME_BUTTONS[i].height); for (int i = 0; i < NUM_FRAME_BUTTONS; i++) { if (FRAME_BUTTONS[i].focusUp != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_UP, FRAME_BUTTONS[FRAME_BUTTONS[i].focusUp].button); if (FRAME_BUTTONS[i].focusDown != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_DOWN, FRAME_BUTTONS[FRAME_BUTTONS[i].focusDown].button); if (FRAME_BUTTONS[i].focusLeft != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_LEFT, FRAME_BUTTONS[FRAME_BUTTONS[i].focusLeft].button); if (FRAME_BUTTONS[i].focusRight != -1) FRAME_BUTTONS[i].button->setNextFocus(menu::Focus::DIRECTION_RIGHT, FRAME_BUTTONS[FRAME_BUTTONS[i].focusRight].button); FRAME_BUTTONS[i].button->setActive(true); if (FRAME_BUTTONS[i].clickedFunc) FRAME_BUTTONS[i].button->setClicked(FRAME_BUTTONS[i].clickedFunc); if (FRAME_BUTTONS[i].returnFunc) FRAME_BUTTONS[i].button->setReturn(FRAME_BUTTONS[i].returnFunc); add(FRAME_BUTTONS[i].button); menu::Cursor::getInstance().addComponent(this, FRAME_BUTTONS[i].button, FRAME_BUTTONS[i].x, FRAME_BUTTONS[i].x+FRAME_BUTTONS[i].width, FRAME_BUTTONS[i].y, FRAME_BUTTONS[i].y+FRAME_BUTTONS[i].height); } for (int i = 0; i < 5; i++) FRAME_BUTTONS[i].button->setFontSize(0.8); for (int i = 5; i < NUM_FRAME_BUTTONS; i++) FRAME_BUTTONS[i].button->setFontSize(0.7); for (int i = 0; i < NUM_FRAME_TEXTBOXES; i++) { FRAME_TEXTBOXES[i].textBox = new menu::TextBox(&FRAME_TEXTBOXES[i].textBoxString, FRAME_TEXTBOXES[i].x, FRAME_TEXTBOXES[i].y, FRAME_TEXTBOXES[i].scale, FRAME_TEXTBOXES[i].centered); add(FRAME_TEXTBOXES[i].textBox); } setDefaultFocus(FRAME_BUTTONS[0].button); setBackFunc(Func_ReturnFromConfigureButtonsFrame); setEnabled(true); activateSubmenu(SUBMENU_N64_PADNONE); }
//check info is completion or not and set focus bool LoginServerDialog::setCurrentFocus() { switch(infoIsCompletion()){ case NAMEINFOINCOMPLETION:{//username incompletion ui->userNameEdit->setFocus(); return false; } break; case PASSWORDINFOINCOMPLETION:{//password incompletion setDefaultFocus(); return false; } break; case INFOCOMPLETION:{ //info completion return true; } break; default:{ return true; } } }
MainWindow::MainWindow(int startState, QString run_binary, QWidget * parent, Qt::WindowFlags f) : QMainWindow(parent, f){ // Loading libq4wine-core.so #ifdef RELEASE libq4wine.setFileName(_CORELIB_PATH_); #else libq4wine.setFileName("../q4wine-lib/libq4wine-core"); #endif if (!libq4wine.load()){ libq4wine.load(); } // Getting corelib class pointer CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); CoreLib.reset((corelib *)CoreLibClassPointer(true)); clearTmp(); db_prefix.fixPrefixPath(); if (CoreLib->getSetting("DesktopImport", "importAtStartup", false, 0)==1){ Progress progress(0, ""); progress.exec(); } // importIcons(QString("%1/.local/share/applications/wine/").arg(QDir::homePath())); //exportProcess.close(); // Base GUI setup setupUi(this); if (!this->createSocket()){ this->close(); return; } if (startState == 1) this->showMinimized(); setWindowTitle(tr("%1 :. Qt GUI for Wine v%2").arg(APP_NAME) .arg(APP_VERS)); std::auto_ptr<QVBoxLayout> vlayout (new QVBoxLayout); std::auto_ptr<PrefixConfigWidget> configWidget (new PrefixConfigWidget(tabPrefixSeup)); connect(configWidget.get(), SIGNAL(updateDatabaseConnections()), this, SLOT(updateDtabaseConnectedItems())); connect(configWidget.get(), SIGNAL(setTabIndex (int)), tbwGeneral, SLOT(setCurrentIndex (int))); connect(this, SIGNAL(updateDatabaseConnections()), configWidget.get(), SLOT(getPrefixes())); std::auto_ptr<LoggingWidget> logWidget (new LoggingWidget(tabLogging)); connect (this, SIGNAL(reloadLogData()), logWidget.get(), SLOT(getLogRecords())); logWidget->getLogRecords(); logLayout->addWidget(logWidget.release()); std::auto_ptr<IconListWidget> lstIcons (new IconListWidget(tabPrograms)); connect(this, SIGNAL(runProgramRequest(QString)), lstIcons.get(), SLOT(runProgramRequest(QString))); connect(lstIcons.get(), SIGNAL(iconItemClick(QString, QString, QString, QString, QString)), this, SLOT(updateIconDesc(QString, QString, QString, QString, QString))); connect(lstIcons.get(), SIGNAL(changeStatusText(QString)), this, SLOT(changeStatusText(QString))); connect(lstIcons.get(), SIGNAL(appRunned(bool)), this, SLOT(setMeVisible(bool))); std::auto_ptr<PrefixTreeWidget> twPrograms (new PrefixTreeWidget(tabPrograms)); connect(twPrograms.get(), SIGNAL(updateDatabaseConnections()), this, SLOT(updateDtabaseConnectedItems())); connect(this, SIGNAL(updateDatabaseConnections()), twPrograms.get(), SLOT(getPrefixes())); connect(twPrograms.get(), SIGNAL(showFolderContents(QString, QString)), lstIcons.get(), SLOT(showFolderContents(QString, QString))); connect(twPrograms.get(), SIGNAL(setSearchFocus()), this, SLOT(setSearchFocus())); connect(twPrograms.get(), SIGNAL(changeStatusText(QString)), this, SLOT(changeStatusText(QString))); connect(this, SIGNAL(setDefaultFocus(QString, QString)), twPrograms.get(), SLOT(setDefaultFocus(QString, QString))); connect(configWidget.get(), SIGNAL(prefixIndexChanged(QString)), twPrograms.get(), SLOT(setDefaultFocus(QString))); connect(twPrograms.get(), SIGNAL(prefixIndexChanged(QString)), configWidget.get(), SLOT(setPrefix(QString))); connect(twPrograms.get(), SIGNAL(setTabIndex (int)), tbwGeneral, SLOT(setCurrentIndex (int))); connect(twPrograms.get(), SIGNAL(pasteAction()), lstIcons.get(), SLOT(iconPaste_Click())); std::auto_ptr<WineProcessWidget> procWidget (new WineProcessWidget(tabProcess)); connect(this, SIGNAL(stopProcTimer()), procWidget.get(), SLOT(stopTimer())); connect(this, SIGNAL(startProcTimer()), procWidget.get(), SLOT(startTimer())); connect(procWidget.get(), SIGNAL(changeStatusText(QString)), this, SLOT(changeStatusText(QString))); tabProcessLayout->addWidget(procWidget.release()); std::auto_ptr<PrefixControlWidget> prefixWidget (new PrefixControlWidget(tabPrefix)); connect(prefixWidget.get(), SIGNAL(updateDatabaseConnections()), twPrograms.get(), SLOT(getPrefixes())); connect(prefixWidget.get(), SIGNAL(updateDatabaseConnections()), this, SLOT(updateDtabaseConnectedItems())); connect(configWidget.get(), SIGNAL(prefixIndexChanged(QString)), prefixWidget.get(), SLOT(setDefaultFocus(QString))); connect(prefixWidget.get(), SIGNAL(prefixIndexChanged(QString)), configWidget.get(), SLOT(setPrefix(QString))); connect(prefixWidget.get(), SIGNAL(setTabIndex (int)), tbwGeneral, SLOT(setCurrentIndex (int))); connect(twPrograms.get(), SIGNAL(updateDatabaseConnections()), prefixWidget.get(), SLOT(updateDtabaseItems())); std::auto_ptr<IconListToolbar> iconToolBar (new IconListToolbar(tabPrograms)); connect(iconToolBar.get(), SIGNAL(searchFilterChange(QString)), lstIcons.get(), SLOT(setFilterString(QString))); connect(iconToolBar.get(), SIGNAL(changeView(int)), lstIcons.get(), SLOT(changeView(int))); std::auto_ptr<PrefixTreeToolbar> prefixToolBar (new PrefixTreeToolbar(tabPrograms)); connect(prefixToolBar.get(), SIGNAL(expandTree()), twPrograms.get(), SLOT(expandTree())); connect(prefixToolBar.get(), SIGNAL(collapseTree()), twPrograms.get(), SLOT(collapseTree())); connect(prefixToolBar.get(), SIGNAL(updatePrefixTree()), this, SLOT(updateDtabaseConnectedItems())); connect(prefixToolBar.get(), SIGNAL(updatePrefixTree()), prefixWidget.get(), SLOT(updateDtabaseItems())); vlayout.reset(new QVBoxLayout); vlayout->addWidget(prefixToolBar.release()); vlayout->addWidget(twPrograms.release()); vlayout->setMargin(0); vlayout->setSpacing(0); std::auto_ptr<QWidget> wid (new QWidget(tabPrograms)); wid->setLayout(vlayout.release()); splitter.reset(new QSplitter(tabPrograms)); splitter->addWidget(wid.release()); vlayout.reset(new QVBoxLayout); vlayout->addWidget(iconToolBar.release()); vlayout->addWidget(lstIcons.release()); vlayout->setMargin(0); vlayout->setSpacing(0); //vlayout->setContentsMargins(0,0,0,0); wid.reset(new QWidget(tabPrograms)); wid->setLayout(vlayout.release()); splitter->addWidget(wid.release()); vlayout.reset(new QVBoxLayout); vlayout->addWidget(splitter.get()); vlayout->addWidget(gbInfo); vlayout->setContentsMargins(3,0,3,3); tabPrograms->setLayout(vlayout.release()); tabPrefixLayout->addWidget(prefixWidget.release()); setupLayout->addWidget(configWidget.release()); // Updating database connected items updateDtabaseConnectedItems(); // Getting settings from config file this->createTrayIcon(); this->getSettings(); connect(tbwGeneral, SIGNAL(currentChanged(int)), this, SLOT(tbwGeneral_CurrentTabChange(int))); //connect(cmdCreateFake, SIGNAL(clicked()), this, SLOT(cmdCreateFake_Click())); //connect(cmdUpdateFake, SIGNAL(clicked()), this, SLOT(cmdUpdateFake_Click())); //Main menu actions connection to slots connect(mainRun, SIGNAL(triggered()), this, SLOT(mainRun_Click())); connect(mainPrograms, SIGNAL(triggered()), this, SLOT(mainPrograms_Click())); connect(mainLogging, SIGNAL(triggered()), this, SLOT(mainLogging_Click())); connect(mainProcess, SIGNAL(triggered()), this, SLOT(mainProcess_Click())); connect(mainSetup, SIGNAL(triggered()), this, SLOT(mainSetup_Click())); connect(mainPrefix, SIGNAL(triggered()), this, SLOT(mainPrefix_Click())); connect(mainImageManage, SIGNAL(triggered()), this, SLOT(mainImageManager_Click())); connect(mainAbout, SIGNAL(triggered()), this, SLOT(mainAbout_Click())); connect(mainAboutQt, SIGNAL(triggered()), this, SLOT(mainAboutQt_Click())); connect(mainExportIcons, SIGNAL(triggered()), this, SLOT(mainExportIcons_Click())); connect(mainOptions, SIGNAL(triggered()), this, SLOT(mainOptions_Click())); connect(mainInstall, SIGNAL(triggered()), this, SLOT(mainInstall_Click())); connect(mainExit, SIGNAL(triggered()), this, SLOT(mainExit_Click())); connect(mainImportWineIcons, SIGNAL(triggered()), this, SLOT(mainImportWineIcons_Click())); connect(mainVersionManager, SIGNAL(triggered()), this, SLOT(mainVersionManager_Click())); CoreLib->runAutostart(); #ifndef WITH_ICOUTILS mainExportIcons->setEnabled(false); #endif if (!run_binary.isEmpty()) messageReceived(run_binary); if (!trayIcon->isVisible()) show(); return; }