void MainWindow::loadSettings() { #ifdef Q_OS_LINUX desktop = getenv("XDG_CURRENT_DESKTOP"); isUnity = (desktop.toLower() == "unity"); qDebug()<<"CURRENT DESKTOP: " << desktop; if (isUnity) { QtConcurrent::run(this, &MainWindow::linuxIconShow); } else { trayIcon->show(); } #endif #ifdef WIN32 trayIcon->show(); #endif restoreGeometry(settings->value("geometry",saveGeometry()).toByteArray()); ui->volumeSlider->setValue(settings->value("volume",50).toInt()); QString localToken = settings->value("token","none").toString(); QString localUid = settings->value("user_id","none").toString(); minToTray = settings->value("minToTrayOnClose",false).toBool(); emit loadToken(localToken,localUid); netCore->getAudioList(); //this->offlineDebugFunction(); useHotkeys = settings->value("useHotkeys",false).toBool(); useMediaHotkeys = settings->value("useMediaHotkeys",false).toBool(); emit setPrefWindowsHotkeysUi(useHotkeys, useMediaHotkeys); setNewSettings(useHotkeys,useMediaHotkeys,false,"",minToTray); }
VkConnection::VkConnection(QObject* parent) : Connection(parent), state_(Vreen::Client::StateOffline), expires_in_(0), uid_(0) { loadToken(); }
//------------------------------------------------------------------------------ void MobiCoreDriverDaemon::run( void ) { const char *devNode = "/dev/" MC_ADMIN_DEVNODE; LOG_I_RELEASE("Daemon starting up..."); LOG_I_RELEASE("Socket interface version is %u.%u", DAEMON_VERSION_MAJOR, DAEMON_VERSION_MINOR); #ifdef MOBICORE_COMPONENT_BUILD_TAG LOG_I_RELEASE("%s", MOBICORE_COMPONENT_BUILD_TAG); #else #warning "MOBICORE_COMPONENT_BUILD_TAG is not defined!" #endif LOG_I_RELEASE("Build timestamp is %s %s", __DATE__, __TIME__); int i; mobiCoreDevice = getDeviceInstance(); LOG_I("Initializing Device, Daemon sheduler is %s", enableScheduler ? "enabled" : "disabled"); // initialize device (setupo MCI) if (!mobiCoreDevice->initDevice( devNode, enableScheduler)) { LOG_E("Could not initialize <t-base (because %s could not be openend)!", devNode); return; } // start device (scheduler) mobiCoreDevice->start(); // Load device driver if requested if (loadDriver) { for (unsigned int i = 0; i < drivers.size(); i++) loadDeviceDriver(drivers[i]); } /* Look for tokens in the registry and pass them to <t-base for endorsement * purposes. */ LOG_I("Looking for suitable tokens"); mcSoAuthTokenCont_t authtoken; mcSoRootCont_t rootcont; uint32_t sosize; uint8_t *p = NULL; mcResult_t ret = mcRegistryReadAuthToken(&authtoken); if (ret != MC_DRV_OK) { LOG_I("Failed to read AuthToken (ret=%u). Trying Root Container", ret); sosize = sizeof(rootcont); ret = mcRegistryReadRoot(&rootcont, &sosize); if (ret != MC_DRV_OK) { LOG_I("Failed to read Root Cont, (ret=%u)", ret); LOG_W("Device endorsements not supported!"); sosize = 0; } else { LOG_I("Found Root Cont."); p = (uint8_t *) &rootcont; } } else { LOG_I("Found AuthToken."); p = (uint8_t *) &authtoken; sosize = sizeof(authtoken); } if (sosize) { LOG_I("Found token of size: %u", sosize); if (!loadToken(p, sosize)) { LOG_E("Failed to pass token to <t-base. " "Device endorsements disabled"); } } LOG_I("Creating socket servers"); // Start listening for incoming TLC connections servers[0] = new NetlinkServer(this); servers[1] = new Server(this, SOCK_PATH); LOG_I("Successfully created servers"); // Start all the servers for (i = 0; i < MAX_SERVERS; i++) { servers[i]->start(i ? "McDaemon.Server" : "NetlinkServer"); } // Create the <t-base File Storage Daemon FSD *FileStorageDaemon = new FSD(); // Start File Storage Daemon FileStorageDaemon->start("McDaemon.FSD"); // then wait for them to exit for (i = 0; i < MAX_SERVERS; i++) { servers[i]->join(); } //Wait for File Storage Daemon to exit FileStorageDaemon->join(); delete FileStorageDaemon; }
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(); }