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;
}
Beispiel #21
0
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"));
    });
}
Beispiel #22
0
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"));
}
Beispiel #23
0
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")));
    }
}