ProvaFirst::ProvaFirst(QWidget *parent) : QWidget(parent) { ui.setupUi(this); // this->SetBackgroundImage(); loginButton = new QPushButton("Login", this); connect(loginButton, SIGNAL(clicked()), this, SLOT(loginSlot())); userLabel = new QLabel("Username", this); passwordLabel = new QLabel("Password", this); userText = new QLineEdit(this); passwordText = new QLineEdit(this); QGridLayout *princLayout = new QGridLayout; princLayout->addWidget(userLabel, 0, 0, Qt::AlignCenter); princLayout->addWidget(userText, 1, 0, Qt::AlignCenter); princLayout->addWidget(passwordLabel, 2, 0, Qt::AlignCenter); princLayout->addWidget(passwordText, 3, 0, Qt::AlignCenter); princLayout->addWidget(loginButton, 4, 0, Qt::AlignCenter); setLayout(princLayout); }
loginFrame::loginFrame(QTcpSocket *socket,QWidget *parent) : QMainWindow(parent), ui(new Ui::loginFrame) { ui->setupUi(this); aboutDlg = new aboutDialog(); connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(loginSlot())); this->socket = socket; connect(ui->label_4,SIGNAL(linkActivated(QString)),this,SLOT(showRegisterDlg())); connect(socket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(error())); errorBox = new QMessageBox(this); connect(ui->comboBox,SIGNAL(activated(int)),this,SLOT(setSelectedText(int))); connect(ui->comboBox,SIGNAL(highlighted(int)),this,SLOT(showSelectedItem(int))); ui->comboBox_2->view()->setFixedWidth(50); connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(showSettingPanel())); //右键菜单 ui->comboBox->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->comboBox,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showContextMenu(QPoint))); menu = new QMenu(ui->comboBox); deleteAction = menu->addAction(QIcon(":/images/no.jpg") ,QString::fromLocal8Bit("删除账号信息")); selectAction = menu->addAction(QIcon(":/images/yes.jpg") ,QString::fromLocal8Bit("选择账号")); connect(deleteAction,SIGNAL(triggered(bool)),this,SLOT(deleteUserInfo())); connect(selectAction,SIGNAL(triggered(bool)),this,SLOT(selectUserInfo())); //变量初始化 this->isAutoLogin = false; this->isSavePassword = false; connect(ui->checkBox_password,SIGNAL(stateChanged(int)),this,SLOT(setSavePassword(int))); connect(ui->checkBox_autoLogin,SIGNAL(stateChanged(int)),this,SLOT(setAutoLogin(int))); // connect(ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(autoWritePasw(int))); connect(ui->comboBox->lineEdit(),SIGNAL(textChanged(QString)),this,SLOT(setEditState())); this->isauto = false; readRegistryData(); timer = new QTimer(); timer->setInterval(1000); timer->setSingleShot(true); //如果在构造函数未完成就直接登录,会发生异常,所以等构造完一段时间后再自动登录 connect(timer,SIGNAL(timeout()),this,SLOT(autoLogin())); timer->start(); //背景 this->setWindowFlags(Qt::FramelessWindowHint); QPixmap pixmap(":/images/about_Back.png"); QPixmap pixmap2 = pixmap.scaled(this->size()); QPalette palette; palette.setBrush(this->backgroundRole(),QBrush(pixmap2) ); this->setPalette(palette); this->setMask(pixmap2.mask()); this->setAutoFillBackground(true); this->setMouseTracking(true); //最小化和关闭按钮 ui->pushButton_min->setStyleSheet( "QPushButton { background-image: url(:/images/min.bmp); }" "QPushButton:hover { background-image: url(:/images/min_highlight.bmp); }" "QPushButton:pressed { background-image: url(:/images/min_pushed.bmp); }"); ui->pushButton_close->setStyleSheet( "QPushButton { background-image: url(:/images/colse_normal.bmp); }" "QPushButton:hover { background-image: url(:/images/close_highlight.bmp); }" "QPushButton:pressed { background-image: url(:/images/close_pushed.bmp); }"); connect(ui->pushButton_min,SIGNAL(clicked()),this,SLOT(showMinimized())); connect(ui->pushButton_close,SIGNAL(clicked()),this,SLOT(close())); //事件过滤器,点击logo时显示about窗口 ui->label_logo->installEventFilter(this); //系统设置面板 connect(ui->checkBox_password_2,SIGNAL(stateChanged(int)),this,SLOT(setSavePassword(int))); connect(ui->checkBox_autoLogin_2,SIGNAL(stateChanged(int)),this,SLOT(setAutoLogin(int))); this->test_socket = new QTcpSocket(); connect(ui->pushButton_test,SIGNAL(clicked()),this,SLOT(testServerConnection())); connect(this->test_socket,SIGNAL(connected()),this,SLOT(showTestConnected())); connect(this->test_socket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(showTestError(QAbstractSocket::SocketError))); connect(ui->pushButton_cancel,SIGNAL(clicked()),this,SLOT(settingCancel())); connect(ui->pushButton_ok,SIGNAL(clicked()),this,SLOT(settingOK())); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),ui(new Ui::MainWindow) { ui->setupUi(this); qDebug()<<QApplication::applicationVersion(); music = new MusicControl; netCore = new NetWorker; settings = new QSettings(this); settingsWindow = new PrefWindow(this); settingsWindow->setWindowFlags(Qt::Dialog); ui->lineEdit->setPlaceholderText("Search here"); ui->seekSlider->setRange(0,0); ui->repeatButton->hide(); isUnity = false; ///tray icon setup QAction *next = new QAction(tr("Next"),this); QAction *restore = new QAction(tr("Show window"),this); QAction *prev = new QAction(tr("Previous"),this); QAction *playPause = new QAction(tr("Play/Pause"),this); QAction *close = new QAction(tr("Exit"),this); connect(next,SIGNAL(triggered()),music,SLOT(playNextSong())); connect(prev,SIGNAL(triggered()),music,SLOT(playPrevSong())); connect(playPause,SIGNAL(triggered()),music,SLOT(changeState())); connect(close,SIGNAL(triggered()),qApp,SLOT(quit())); connect(restore,SIGNAL(triggered()),this,SLOT(show())); QMenu *trayIconMenu = new QMenu(this); trayIconMenu->addAction(restore); trayIconMenu->addAction(next); trayIconMenu->addAction(prev); trayIconMenu->addAction(playPause); trayIconMenu->addAction(close); trayIcon = new QSystemTrayIcon(QIcon(":/icons/qvk.svg")); trayIcon->setContextMenu(trayIconMenu); connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this, SLOT(trayHandler(QSystemTrayIcon::ActivationReason))); //trayIcon->setVisible(true); //trayIcon->show(); ///table setting QStringList header; ui->musicWidget->setColumnCount(4); header <<"Artist"<<"Title"<<"Duration"<<"link"; //in case of unsuccesseful update.... ui->musicWidget->hideColumn(3); ui->musicWidget->setHorizontalHeaderLabels(header); ui->musicWidget->verticalHeader()->setVisible(false); ui->musicWidget->setShowGrid(false); ui->musicWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->musicWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->musicWidget->setSelectionBehavior(QAbstractItemView::SelectRows); ui->musicWidget->setSelectionMode(QAbstractItemView::SingleSelection); ////////////////////////////////////////////////Creating actions QAction *login = new QAction(tr("Login"),this); QAction *About = new QAction(tr("About"),this); QAction *refrsh = new QAction(tr("Refresh"),this); QAction *showSettingsWindow = new QAction(tr("Settings"),this); connect(showSettingsWindow, SIGNAL(triggered()),settingsWindow,SLOT(show())); connect(refrsh,SIGNAL(triggered()), netCore, SLOT(getAudioList())); connect(login, SIGNAL(triggered()), netCore, SLOT(loginSlot())); connect(About, SIGNAL(triggered()), this, SLOT(about())); ////////////////////////////////////////////////Creating menu QMenu *gearButtonMenu = new QMenu("Options", ui->toolButton); gearButtonMenu->addAction(refrsh); gearButtonMenu->addAction(login); gearButtonMenu->addAction(showSettingsWindow); gearButtonMenu->addSeparator(); gearButtonMenu->addAction(About); gearButtonMenu->addAction(close); ///////////////////////////////////////////////making menu button ui->toolButton->setMenu(gearButtonMenu); ///connection area connect(this,SIGNAL(setPlayingOrder(QList<QUrl>)),music,SLOT(setPlayList(QList<QUrl>))); connect(ui->volumeSlider,SIGNAL(valueChanged(int)),music,SLOT(volumeSliderSlot(int))); connect(ui->musicWidget,SIGNAL(cellDoubleClicked(int,int)),music,SLOT(playThatSong(int,int))); connect(ui->shuffButton,SIGNAL(toggled(bool)),music,SLOT(shuffleMode(bool))); connect(ui->nextButton,SIGNAL(clicked()),music,SLOT(playNextSong())); connect(music,SIGNAL(setIndexToUi(int,int)),this,SLOT(setSongUi(int,int))); connect(ui->prevButton,SIGNAL(clicked()),music,SLOT(playPrevSong())); connect(ui->tooglePlayingButton,SIGNAL(clicked()),music,SLOT(changeState())); connect(music,SIGNAL(setPlayingUi()),this,SLOT(setPlayingUi())); connect(music,SIGNAL(setPausedUi()),this,SLOT(setPausedUi())); connect(ui->seekSlider,SIGNAL(sliderMoved(int)),music,SLOT(setPosition(int))); connect(music,SIGNAL(newPosition(qint64)),this,SLOT(positionChanged(qint64))); connect(music,SIGNAL(newRange(qint64)),this,SLOT(durationChanged(qint64))); connect(ui->lineEdit,SIGNAL(textChanged(QString)),this,SLOT(currentSearch(QString))); connect(this,SIGNAL(loadToken(QString,QString)),netCore,SLOT(setToken(QString,QString))); connect(netCore,SIGNAL(audioListGet(QList<QUrl>)),music,SLOT(setPlayList(QList<QUrl>))); connect(ui->musicWidget,SIGNAL(cellClicked(int,int)),music,SLOT(setSelectedSong(int,int))); connect(ui->repeatButton,SIGNAL(clicked(bool)),music,SLOT(repeatMode(bool))); connect(netCore,SIGNAL(dataGot()),this,SLOT(setMusicTable())); connect(this,SIGNAL(setPrefWindowsHotkeysUi(bool,bool)),settingsWindow,SLOT(setUseHotkeysUi(bool,bool))); connect(this,SIGNAL(setMinToTray(bool)),settingsWindow,SLOT(setUseMinTray(bool))); connect(settingsWindow,SIGNAL(setNewSettings(bool,bool,bool,QString,bool)), this,SLOT(setNewSettings(bool,bool,bool,QString,bool))); ///connection area ///DBUS setting #ifdef Q_OS_LINUX DBusMethods* demo = new DBusMethods(); new DBusAdaptor(demo); new DBusAdaptor1(demo); QDBusConnection connection = QDBusConnection::sessionBus(); bool ret = connection.registerService("org.mpris.MediaPlayer2.qvkplayer.mainwindow"); ret = connection.registerObject("/org/mpris/MediaPlayer2", demo); connect(demo,SIGNAL(dbusNext()),ui->nextButton,SIGNAL(clicked())); connect(demo,SIGNAL(dbusPlayPause()),ui->tooglePlayingButton,SIGNAL(clicked())); connect(demo,SIGNAL(dbusPrev()),ui->prevButton,SIGNAL(clicked())); connect(demo,SIGNAL(dbusQuit()),qApp,SLOT(quit())); connect(demo,SIGNAL(dbusRaise()),this,SLOT(show())); #endif ///DBUS setting ///CONFIG LOADING================================== this->loadSettings(); }