Esempio n. 1
0
int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);

    SettingsManager settingsManager(&app);

    LocalFileContentResolver *resolver = new LocalFileContentResolver(&app);
    LightHttpDaemon daemon(MIN_PORT, MIN_PORT, MAX_PORT, &app);
    daemon.setContentResolver(resolver);

    return app.exec();
}
void SeafileApplet::onDaemonStarted()
{
    //
    // start daemon-related services
    //
    rpc_client_->connectDaemon();
    message_listener_->connectDaemon();

    // Sleep 500 millseconds to wait seafile registering services

    msleep(500);

    //
    // load proxy settings (important)
    //
    seafApplet->settingsManager()->loadSettings();

    //
    // start network-related services
    //
    FileCacheDB::instance()->start();
    AutoUpdateManager::instance()->start();

    AvatarService::instance()->start();

    SeahubNotificationsMonitor::instance()->start();
    ServerStatusService::instance()->start();

    account_mgr_->updateServerInfo();

    //
    // start ui part
    //
    main_win_ = new MainWindow;

#if defined(Q_OS_MAC)
    seafApplet->settingsManager()->setHideDockIcon(seafApplet->settingsManager()->hideDockIcon());
#endif

    if (configurator_->firstUse() || account_mgr_->accounts().size() == 0) {
        do {
            QString username = readPreconfigureExpandedString(kPreconfigureUsername);
            QString token = readPreconfigureExpandedString(kPreconfigureUserToken);
            QString url = readPreconfigureExpandedString(kPreconfigureServerAddr);
            QString computer_name = readPreconfigureExpandedString(kPreconfigureComputerName, settingsManager()->getComputerName());
            if (!computer_name.isEmpty())
                settingsManager()->setComputerName(computer_name);
            if (!username.isEmpty() && !token.isEmpty() && !url.isEmpty()) {
                Account account(url, username, token);
                if (account_mgr_->saveAccount(account) < 0) {
                    warningBox(tr("failed to add default account"));
                    exit(1);
                }
                break;
            }

            if (readPreconfigureEntry(kHideConfigurationWizard).toInt())
                break;
            LoginDialog login_dialog;
            login_dialog.exec();
        } while (0);
    }

    started_ = true;

    if (configurator_->firstUse() || !settings_mgr_->hideMainWindowWhenStarted()) {
        main_win_->showWindow();
    }

    tray_icon_->start();
    tray_icon_->setState(SeafileTrayIcon::STATE_DAEMON_UP);

#if defined(Q_OS_WIN32)
    QTimer::singleShot(kIntervalBeforeShowInitVirtualDialog, this, SLOT(checkInitVDrive()));
    configurator_->installCustomUrlHandler();
#endif

    if (settings_mgr_->isCheckLatestVersionEnabled()) {
        checkLatestVersionInfo();
    }

    OpenLocalHelper::instance()->checkPendingOpenLocalRequest();

    QTimer::singleShot(kIntervalForUpdateRepoProperty,
                       this, SLOT(updateReposPropertyForHttpSync()));

    //
    // start finder/explorer extension handler
    //
#if defined(Q_OS_WIN32)
    SeafileExtensionHandler::instance()->start();
#elif defined(HAVE_FINDER_SYNC_SUPPORT)
    finderSyncListenerStart();
#endif
}
Esempio n. 3
0
void AppController::declareMenus()
{
	settingsManager()->declareMenu("paintfield.file",
	                               tr("File"));
	
	settingsManager()->declareAction("paintfield.file.new",
	                                 tr("New..."));

	settingsManager()->declareAction("paintfield.file.newFromImageFile",
									 tr("Import and New..."));

	settingsManager()->declareAction("paintfield.file.newFromClipboard",
	                                 tr("New from Clipboard"));
	
	settingsManager()->declareAction("paintfield.file.open",
	                                 tr("Open..."));
	settingsManager()->declareAction("paintfield.file.close",
	                                 tr("Close"));
	settingsManager()->declareAction("paintfield.file.save",
	                                 tr("Save"));
	settingsManager()->declareAction("paintfield.file.saveAs",
	                                 tr("Save As..."));
	settingsManager()->declareAction("paintfield.file.newCanvasIntoDocument",
	                                 tr("New Canvas Into Current Document"));
	settingsManager()->declareAction("paintfield.file.export",
	                                 tr("Export..."));
	settingsManager()->declareAction("paintfield.file.quit",
	                                 tr("Quit"));
	
	settingsManager()->declareMenu("paintfield.edit",
	                               tr("Edit"));
	
	settingsManager()->declareAction("paintfield.edit.undo",
	                                 tr("Undo"));
	settingsManager()->declareAction("paintfield.edit.redo",
	                                 tr("Redo"));
	settingsManager()->declareAction("paintfield.edit.cut",
	                                 tr("Cut"));
	settingsManager()->declareAction("paintfield.edit.copy",
	                                 tr("Copy"));
	settingsManager()->declareAction("paintfield.edit.paste",
	                                 tr("Paste"));
	settingsManager()->declareAction("paintfield.edit.delete",
	                                 tr("Delete"));
	settingsManager()->declareAction("paintfield.edit.selectAll",
	                                 tr("Select All"));
	
	settingsManager()->declareMenu("paintfield.view",
	                               tr("View"));
	
	settingsManager()->declareAction("paintfield.window.newWorkspace",
	                                 tr("New Workspace"));
	settingsManager()->declareAction("paintfield.window.splitVertically",
	                                 tr("Split Vertically"));
	settingsManager()->declareAction("paintfield.window.splitHorizontally",
	                                 tr("Split Horizontally"));
	settingsManager()->declareAction("paintfield.window.closeCurrentSplit",
	                                 tr("Close Current Split"));
	settingsManager()->declareAction("paintfield.window.closeWorkspace",
	                                 tr("Close Workspace"));
	
	settingsManager()->declareMenu("paintfield.window",
	                               tr("Window"));
	
	settingsManager()->declareAction("paintfield.window.minimize",
	                                 tr("Minimize"));
	settingsManager()->declareAction("paintfield.window.zoom",
	                                 tr("Zoom"));
	
	settingsManager()->declareMenu("paintfield.help",
	                               tr("Help"));
}