void FKRealmComponent::startComponent(){ if(!component()){ FKRealm* realm=static_cast<FKRealm*>(componentFactory()->newInstance()); connect(realm,SIGNAL(messageRequested(QString)),this,SIGNAL(messageRequested(QString))); QString dbPath(FKPathResolver::realmDatabasePath()); QDir(dbPath).mkpath("."); FKDataBase* db=new FKFSDB(realm); db->setPath(dbPath); realm->setDataBase(db); FKThreadedComponent::startComponent(realm); emit messageRequested(QString(tr("Started"))); emit started(); } }
QStringList FKRealmComponent::userList(){ QStringList lst; if(!FK_THREAD_GETTER(QStringList,lst,userList)){ emit messageRequested(QString(tr("Unable get user list"))); } return lst; }
QStringList FKRealmComponent::userList(const QString clientId){ QStringList lst; if(!FK_THREAD_GETTER_ARG(QStringList,lst,getUserList,QString,clientId)){ emit messageRequested(QString(tr("Unable get user list"))); } return lst; }
QStringList FKServerComponent::roomTypeList(){ QStringList lst; if(!FK_THREAD_GETTER(QStringList,lst,registeredRoomTypes)){ emit messageRequested(QString(tr("Unable asquire room type list"))); } return lst; }
QStringList FKRealmComponent::activeClientList(){ QStringList lst; if(!FK_THREAD_GETTER(QStringList,lst,connectedClientList)){ emit messageRequested(QString(tr("Unable get client list"))); } return lst; }
void FKRealmComponent::guestConnection(FKConnector* connector){ connector->moveToThread(component()->thread()); const bool activation=true; if(!callMethod("incomeConnection",connector,"FKConnector*",activation,"bool")){ emit messageRequested(QString(tr("Unable add guest connection"))); } }
QStringList FKRealmComponent::activeRoomList(const QVariant filter){ QStringList lst; if(!FK_THREAD_GETTER_ARG(QStringList,lst,getRoomList,QVariant,filter)){ emit messageRequested(QString(tr("Unable get room list"))); } return lst; }
QList<int> FKRealmComponent::avaliableServerList(){ QList<qint32> lst; if(!FK_THREAD_GETTER(QList<qint32>,lst,getAvaliableServers)){ emit messageRequested(QString(tr("Unable get avaliable server list"))); } return lst; }
QList<int> FKRealmComponent::connectedServerList(){ QList<qint32> lst; if(!FK_THREAD_GETTER(QList<qint32>,lst,connectedServerList)){ emit messageRequested(QString(tr("Unable get connected server list"))); } return lst; }
bool FKServerComponent::isConnectedToRealm(){ bool result; if(!FK_THREAD_GETTER(bool,result,isConnectedToRealm)){ result = false; emit messageRequested(QString(tr("Unable asquire connected to realm status from server"))); } return result; }
bool FKServerComponent::isLogged(){ bool result; if(!FK_THREAD_GETTER(bool,result,isLogged)){ result = false; emit messageRequested(QString(tr("Unable asquire logged status from server"))); } return result; }
QStringList FKRealmComponent::roomTypeList(const qint32 serverId){ if(serverId<0)return roomTypeList(); QStringList lst; if(!FK_THREAD_GETTER_ARG(QStringList,lst,serverAvaliableRoomTypes,qint32,serverId)){ emit messageRequested(QString(tr("Unable asquire room type list for %1 server")).arg(QString::number(serverId))); } return lst; }
QList<int> FKRealmComponent::avaliableServerList(const QString roomType){ if(roomType.isEmpty())return avaliableServerList(); QList<qint32> lst; if(!FK_THREAD_GETTER(QList<qint32>,lst,getAvaliableServersForRoomType)){ emit messageRequested(QString(tr("Unable get avaliable server list for %1 room type")).arg(roomType)); } return lst; }
void FacebookMessageDialog::onClicked() { d->mMessage = d->mEditor->text(); Q_EMIT messageRequested(); d->mEditor->setText(""); this->hide(); }
QStringList FKRealmComponent::serverList(const QString roomType){ if(roomType.isEmpty())return serverList(); QStringList lst; if(!FK_THREAD_GETTER_ARG(QStringList,lst,getServersForRoomType,QString,roomType)){ emit messageRequested(QString(tr("Unable get server list for %1 room type")).arg(roomType)); } return lst; }
bool FKSimpleCore::stopClientInfrastructure(){ if(_clientComponent->isRunning()){ _clientComponent->stopComponent(); return true; }else{ emit messageRequested(QString(tr("Unable stop client: not started"))); } return false; }
void FKServerComponent::startComponent(){ if(!component()){ FKServerInfrastructure* server=static_cast<FKServerInfrastructure*>(componentFactory()->newInstance()); connect(server,SIGNAL(waitingForAnswerChanged(FKInfrastructureType)),SIGNAL(waitingForRealmAnswerChanged())); connect(server,SIGNAL(connectedToRealm()),SIGNAL(connectedToRealm())); connect(server,SIGNAL(disconnectedFromRealm()),SIGNAL(disconnectedFromRealm())); connect(server,SIGNAL(loggedIn()),SIGNAL(loggedIn())); connect(server,SIGNAL(messageRequested(QString)),SIGNAL(messageRequested(QString))); connect(server,SIGNAL(roomInstruction(FKInstructionObject)),SIGNAL(roomInstruction(FKInstructionObject))); QString dbPath(FKPathResolver::serverDatabasePath()); QDir(dbPath).mkpath("."); FKDataBase* db=new FKFSDB(server); db->setPath(dbPath); server->setDataBase(db); FKThreadedComponent::startComponent(server); emit messageRequested(QString(tr("Started"))); emit started(); } }
bool FKSimpleCore::startRealmInfrastructure(const qint32 port){ if(!_realmComponent->isRunning()){ _realmComponent->startComponent(); _realmComponent->setPort(port); return true; }else{ emit messageRequested(QString(tr("Unable start realm: already started"))); return false; } }
bool FKSimpleCore::startClientInfrastructure(const int realmPort, const QString& realmIP){ if(_realmComponent->isRunning()){ if(!_clientComponent->isRunning()){ _clientComponent->startComponent(); _clientComponent->setRealmConnectionSettings(realmIP,realmPort); FKLocalConnector* clientSideConnector=new FKLocalConnector; FKLocalConnector* realmSideConnector=new FKLocalConnector; realmSideConnector->join(clientSideConnector); _clientComponent->realmConnection(clientSideConnector); //this must be first _realmComponent->guestConnection(realmSideConnector); //this must be seconds return true; }else{ emit messageRequested(QString(tr("Unable start client: already started"))); } }else{ emit messageRequested(QString(tr("Unable start local app client: no realm started"))); } return false; }
bool FKSimpleCore::startServerInfrastructure(const qint32 port, const qint32 realmPort, const QString& realmIP){ if(_realmComponent->isRunning()){ if(!_serverComponent->isRunning()){ _serverComponent->startComponent(); _serverComponent->setPort(port); _serverComponent->setRealmConnectionSettings(realmIP,realmPort); FKLocalConnector* serverSideConnector=new FKLocalConnector; FKLocalConnector* realmSideConnector=new FKLocalConnector; realmSideConnector->join(serverSideConnector); _serverComponent->realmConnection(serverSideConnector); //this must be first _realmComponent->guestConnection(realmSideConnector); //this must be seconds return true; }else{ emit messageRequested(QString(tr("Unable start server: already started"))); } }else{ emit messageRequested(QString(tr("Unable start local server: no realm started"))); } return false; }
void LnfLogic::dumpPlasmaLayout(const QString &pluginName) { QDBusMessage message = QDBusMessage::createMethodCall("org.kde.plasmashell", "/PlasmaShell", "org.kde.PlasmaShell", "dumpCurrentLayoutJS"); QDBusPendingCall pcall = QDBusConnection::sessionBus().asyncCall(message); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this); QObject::connect(watcher, &QDBusPendingCallWatcher::finished, this, [=](QDBusPendingCallWatcher *watcher) { const QDBusMessage &msg = watcher->reply(); watcher->deleteLater(); if (watcher->isError()) { emit messageRequested(ErrorLevel::Error, i18n("Cannot retrieve the current Plasma layout.")); return; } const QString layout = msg.arguments().first().toString(); QDir themeDir(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) % QLatin1Literal("/plasma/look-and-feel/") % pluginName); if (!themeDir.mkpath("contents/layouts")) { qWarning() << "Impossible to create the layouts directory in the look and feel package"; emit messageRequested(ErrorLevel::Error, i18n("Impossible to create the layouts directory in the look and feel package")); return; } QFile layoutFile(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) % QLatin1Literal("/plasma/look-and-feel/") % pluginName % QLatin1Literal("/contents/layouts/org.kde.plasma.desktop-layout.js")); if (layoutFile.open(QIODevice::WriteOnly)) { layoutFile.write(layout.toUtf8()); layoutFile.close(); } else { qWarning() << "Impossible to write to org.kde.plasma.desktop-layout.js"; emit messageRequested(ErrorLevel::Error, i18n("Impossible to write to org.kde.plasma.desktop-layout.js")); return; } emit messageRequested(ErrorLevel::Info, i18n("Plasma Layout successfully duplicated")); }); }
void LnfLogic::dumpDefaultsConfigFile(const QString &pluginName) { //write the defaults file, read from kde config files and save to the defaultsrc KConfig defaultsConfig(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) % QLatin1Literal("/plasma/look-and-feel/") % pluginName % "/contents/defaults"); KConfigGroup defaultsConfigGroup(&defaultsConfig, "kdeglobals"); defaultsConfigGroup = KConfigGroup(&defaultsConfigGroup, "KDE"); //widget style KConfigGroup systemCG(KSharedConfig::openConfig(QStringLiteral("kdeglobals")), "KDE"); defaultsConfigGroup.writeEntry("widgetStyle", systemCG.readEntry("widgetStyle", QStringLiteral("breeze"))); //color scheme (TODO: create an in-place color scheme?) defaultsConfigGroup = KConfigGroup(&defaultsConfig, "kdeglobals"); defaultsConfigGroup = KConfigGroup(&defaultsConfigGroup, "General"); systemCG = KConfigGroup(KSharedConfig::openConfig(QStringLiteral("kdeglobals")), "General"); defaultsConfigGroup.writeEntry("ColorScheme", systemCG.readEntry("ColorScheme", QStringLiteral("Breeze"))); //plasma theme defaultsConfigGroup = KConfigGroup(&defaultsConfig, "plasmarc"); defaultsConfigGroup = KConfigGroup(&defaultsConfigGroup, "Theme"); systemCG = KConfigGroup(KSharedConfig::openConfig(QStringLiteral("plasmarc")), "Theme"); defaultsConfigGroup.writeEntry("name", systemCG.readEntry("name", QStringLiteral("default"))); //cursor theme defaultsConfigGroup = KConfigGroup(&defaultsConfig, "kcminputrc"); defaultsConfigGroup = KConfigGroup(&defaultsConfigGroup, "Mouse"); systemCG = KConfigGroup(KSharedConfig::openConfig(QStringLiteral("kcminputrc")), "Mouse"); defaultsConfigGroup.writeEntry("cursorTheme", systemCG.readEntry("cursorTheme", QStringLiteral("breeze_cursors"))); //KWin window switcher theme systemCG = KConfigGroup(KSharedConfig::openConfig(QStringLiteral("kwinrc")), "TabBox"); defaultsConfigGroup = KConfigGroup(&defaultsConfigGroup, "WindowSwitcher"); defaultsConfigGroup.writeEntry("LayoutName", systemCG.readEntry("LayoutName", QStringLiteral("org.kde.breeze.desktop"))); defaultsConfigGroup = KConfigGroup(&defaultsConfigGroup, "DesktopSwitcher"); defaultsConfigGroup.writeEntry("LayoutName", systemCG.readEntry("DesktopLayout", QStringLiteral("org.kde.breeze.desktop"))); emit messageRequested(ErrorLevel::Info, i18n("Defaults config file saved from your current setup")); }
void Thread::showMessage(const std::string& message) { emit messageRequested(message); }
void FKClientComponent::realmConnection(FKConnector* connector){ connector->moveToThread(component()->thread()); if(!FK_THREAD_CALL_ARG(realmConnection,FKConnector*,connector)){ emit messageRequested(QString(tr("Unable set realm connection for client"))); } }
void FKClientComponent::ausvise(const QString id, const QString password){ if(!callMethod("requestLoginRealm",id,"QString",password,"QString")){ emit messageRequested(QString(tr("Unable request log in"))); } }
void FKSimpleCore::clientMessage(QString msg){ msg.prepend(QLatin1String("Client->")); emit messageRequested(msg); }
void FKSimpleCore::serverMessage(QString msg){ msg.prepend(QLatin1String("Server->")); emit messageRequested(msg); }
void FKSimpleCore::realmMessage(QString msg){ msg.prepend(QLatin1String("Realm->")); emit messageRequested(msg); }
void FKSimpleCore::installComponents(){ connect(_realmComponent,SIGNAL(messageRequested(QString)),SLOT(realmMessage(QString))); connect(_serverComponent,SIGNAL(messageRequested(QString)),SLOT(serverMessage(QString))); connect(_clientComponent,SIGNAL(messageRequested(QString)),SLOT(clientMessage(QString))); }
void FKClientComponent::handleRoomInstruction(FKInstructionObject instruction){ if(!isRunning())return; if(!FK_THREAD_CALL_ARG(handleRoomInstruction,FKInstructionObject,instruction)){ emit messageRequested(QString(tr("Unable handle room engine instruction"))); } }