phraseWindow::phraseWindow(User *user):user(user)
{
    this->setMaximumSize(270, 480);
    this->setMinimumSize(270, 480);
    setWindowFlags(Qt::FramelessWindowHint);
    background = new QLabel(this);
    background->setStyleSheet("background:url(:/image/phraseWindow.jpg)");
    background->setGeometry(0, 0, this->width(), this->height());

    searchWordEdit.setParent(this);
    searchWordEdit.setGeometry(70, 5, 130, 25);
    meaningLabel.setParent(this);
    meaningLabel.setGeometry(88, 38, 150, 20);
    meaningLabel.setStyleSheet("background-color:transparent");
    searchButton.setParent(this);
    searchButton.setGeometry(210, 5, 20, 20);
    searchButton.setText("搜索");
    //导航栏
    translateButton.setParent(this);
    translateButton.setStyleSheet("background-color:transparent;border:0px groove gray;border-radius:19px;padding:2px 4px");
    phrase.setParent(this);
    phrase.setStyleSheet("background-color:transparent;border:0px groove gray;border-radius:19px;padding:2px 4px");
    wordlearning.setParent(this);
    wordlearning.setStyleSheet("background-color:transparent;border:0px groove gray;border-radius:19px;padding:2px 4px");
    aboutUser.setParent(this);
    aboutUser.setStyleSheet("background-color:transparent;border:0px groove gray;border-radius:19px;padding:2px 4px");
    more.setParent(this);
    more.setStyleSheet("background-color:transparent;border:0px groove gray;border-radius:19px;padding:2px 4px");

    wordlearning.setGeometry(7, 425, 38, 38);
    phrase.setGeometry(61, 425, 38, 38);
    translateButton.setGeometry(115, 425, 38, 38);
    aboutUser.setGeometry(169, 425, 38, 38);
    more.setGeometry(222, 425, 38, 38);

    learningPharse.setParent(this);
    learningPharse.setGeometry(32, 360, 95, 38);
    reviewPhrase.setParent(this);
    reviewPhrase.setGeometry(145, 360, 93, 38);
    learningPharse.setStyleSheet("background-color:transparent");
    reviewPhrase.setStyleSheet("background-color:transparent");
    connect(&wordlearning, SIGNAL(clicked()), this, SLOT(openWordLearning()));
    connect(&translateButton, SIGNAL(clicked()), this, SLOT(openTranslate()));
    connect(&aboutUser, SIGNAL(clicked()), this, SLOT(openUser()));
    connect(&more, SIGNAL(clicked()), this, SLOT(openSetting()));
    connect(&learningPharse, SIGNAL(clicked()), this, SLOT(startLearning()));
    connect(&reviewPhrase, SIGNAL(clicked()), this, SLOT(startReviewing()));
}
void MusicRegeditManager::createMusicRegedit(const QString &key)
{
    QString keyX = "HKEY_CURRENT_USER\\Software\\Classes\\." + key;
    QSettings keyXSetting(keyX, QSettings::NativeFormat);
    keyX = keyXSetting.value("Default").toString();
    if(keyX.isEmpty() || keyX != APPDOT + key)
    {
        keyXSetting.setValue("Default", APPDOT + key);
    }

    ////////////////////////////////////////////////////////
    const QString keyString = QString("HKEY_CURRENT_USER\\Software\\Classes\\") + APPDOT + key;
    QSettings keySetting(keyString, QSettings::NativeFormat);
    keySetting.setValue("Default", key + QObject::tr("File"));

    const QString iconString = QString("HKEY_CURRENT_USER\\Software\\Classes\\") + APPDOT + key + "\\DefaultIcon";
    QSettings iconSetting(iconString, QSettings::NativeFormat);
    iconSetting.setValue("Default", QString("%1,%2").arg(QApplication::applicationFilePath().replace("/", "\\")).arg(1));

    const QString openString = QString("HKEY_CURRENT_USER\\Software\\Classes\\") + APPDOT + key + "\\Shell\\Open";
    QSettings openSetting(openString, QSettings::NativeFormat);
    openSetting.setValue("Default", QObject::tr("user TTKMusicPlayer play"));

    const QString openComString = QString("HKEY_CURRENT_USER\\Software\\Classes\\") + APPDOT + key + "\\Shell\\Open\\Command";
    QSettings openComSetting(openComString, QSettings::NativeFormat);
    openComSetting.setValue("Default", QString("\"%1\"").arg(QApplication::applicationFilePath().replace("/", "\\"))
                                     + QString(" %1 ").arg(MUSIC_OUTER_OPEN) + QString("\"%1\""));

    const QString playListString = QString("HKEY_CURRENT_USER\\Software\\Classes\\") + APPDOT + key + "\\Shell\\PlayList";
    QSettings playListSetting(playListString, QSettings::NativeFormat);
    playListSetting.setValue("Default", QObject::tr("add TTKMusicPlayer playList"));

    const QString playListComString = QString("HKEY_CURRENT_USER\\Software\\Classes\\") + APPDOT + key + "\\Shell\\PlayList\\Command";
    QSettings playListComSetting(playListComString, QSettings::NativeFormat);
    playListComSetting.setValue("Default", QString("\"%1\"").arg(QApplication::applicationFilePath().replace("/", "\\"))
                                         + QString(" %1 ").arg(MUSIC_OUTER_LIST) + QString("\"%1\""));

    ////////////////////////////////////////////////////////
    const QString fileExtsString = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\." + key;
    QSettings fileExtsSetting(fileExtsString, QSettings::NativeFormat);
    fileExtsSetting.setValue("Progid", APPDOT + key);

    const QString fileExtsUserString = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\." + key + "\\UserChoice";
    QSettings fileExtsUserSetting(fileExtsUserString, QSettings::NativeFormat);
    fileExtsUserSetting.setValue("Progid", APPDOT + key);

}