Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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()));
}
Ejemplo n.º 3
0
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();
}