Beispiel #1
0
Bool EmDocument::AskSaveSession (EmFileRef& ref)
{
	// Start by showing the user the directory in which they saved the
	// last session file.

	Preference<EmFileRef>	pref (kPrefKeyLastPSF);
	EmFileRef				lastSession = *pref;

	// Get other parameters used in presenting the dialog.

	string					prompt (Platform::GetString (kStr_SaveSessionAs));
	EmDirRef				defaultPath (lastSession.GetParent ());
	EmFileTypeList			filterList;
	string					defaultName (ref.GetName ());

	filterList.push_back (kFileTypeSession);
	filterList.push_back (kFileTypeAll);

	// Ask the user for a file name.

	EmDlgItemID	item = EmDlg::DoPutFile (
		ref, prompt, defaultPath, filterList, defaultName);

	// Return whether or not the user cancelled the operation.

	return item == kDlgItemOK;
}
/*!
    \reimp
*/
QString BSciDrmFileEngine::fileName( FileName file ) const
{
    if( baseName().isEmpty() )
        return QFSFileEngine::fileName( file );

    switch( file )
    {
    case DefaultName:
        return defaultName();
    case BaseName:
        return baseName();
    case PathName:
        return QFSFileEngine::fileName( DefaultName );
    case AbsoluteName:
        return QFSFileEngine::fileName( AbsoluteName ) + QDir::separator() + baseName();
    case AbsolutePathName:
        return QFSFileEngine::fileName( AbsoluteName );
    case LinkName:
        return isLink() ? QFSFileEngine::fileName( AbsoluteName ) + QDir::separator() + contentId() : QString();
    case CanonicalName:
        QFSFileEngine::fileName( CanonicalName ) + QDir::separator() + contentId();
    case CanonicalPathName:
        return QFSFileEngine::fileName( CanonicalName );
    default:
        return QString();
    }
}
Beispiel #3
0
QString VirtualDesktopManager::name(uint desktop) const
{
    if (!m_rootInfo) {
        return defaultName(desktop);
    }
    return QString::fromUtf8(m_rootInfo->desktopName(desktop));
}
Beispiel #4
0
	bool PoolSettings::reload(const char* conf_lua_file)
	{
		m_settings.clear();
		{
			KInputFileStream fi(conf_lua_file);
			if(!fi.Good())
			{
				Log(LOG_ERROR, "error: open pool setting file '%s'", conf_lua_file);
				return false;
			}
			lua_State* L = LuaWraper.m_l;
			{
				KLuaStackRecover sr(L);
				int errfunc = LMREG::lua_geterrfunc(L);
				lua_newtable(L);
				{
					KLuaTableWraper ctxtbl(-1);
					ctxtbl.setMetatable("_G");
				}
				if(!LuaWraper.loadStream(fi))
				{
					Log(LOG_ERROR, "error: parse pool setting file '%s', %s", conf_lua_file, lua_tostring(L,-1));
					return false;
				}
				lua_pushvalue(L, -2);
				lua_setfenv(L, -2);
				if(lua_pcall(L, 0, 0, errfunc) != lwp_success)
				{
					Log(LOG_ERROR, "error: execute pool setting file '%s'", conf_lua_file);
					return false;
				}
				{
					KLuaTableWraper table(-1);
					m_lifetime = table.getTableField_i32("lifetime", 30*60);
					if(!m_defaultConnection && table.hasTableField("default", luaTable_t))
					{
						table.attach("default");
						KRefPtr<ConnectionSetting> cnnSetting = new ConnectionSetting();
						if(!cnnSetting->init(defaultName(), table))
							return false;
						cnnSetting->m_lifeTime = m_lifetime;
						m_defaultConnection = cnnSetting;
					}
				}
				{
					KLuaTableWraper table(m_luaWrapper->m_l, -1);
					table.attach("connections");
					connection_visitor v(*this);
					if(!table.foreachpair(v))
						return false;
				}
				{
					KLuaTableWraper table(m_luaWrapper->m_l, -1);
					table.attach("policy");
					*m_policyTable = table;
				}
			}
		}
		return true;
	}
void TestDxArchiver::testDxArchiverCmdLineArgs()
{
    string progName("TestDxArchiverCmdLineArgs");
    int defaultSsePort(2222);
    int defaultDxPort(3333);
    string defaultSseHostname("fred-main");
    string defaultName("archiver7");
    bool defaultNoUi(false);

    DxArchiverCmdLineArgs cmdArgs(progName, 
				   defaultSseHostname,
				   defaultSsePort, 
				   defaultDxPort, 
				   defaultNoUi,
				   defaultName);

    // test usage message output
    cmdArgs.usage();
    cerr << endl;

    // check the defaults
    cu_assert (cmdArgs.getSsePort() == defaultSsePort);
    cu_assert (cmdArgs.getDxPort() == defaultDxPort);
    cu_assert (cmdArgs.getSseHostname() == defaultSseHostname);
    cu_assert (cmdArgs.getNoUi() == defaultNoUi);
    cu_assert (cmdArgs.getName() == defaultName);

    // try setting alternate parameters
    const char *argv[] = 
    { "ProgName",
      "-host", "barney",
      "-sse-port", "8888",
      "-dx-port", "8877",
      "-name", "archiver8"
    };
    const int argc = ARRAY_LENGTH(argv);

    // verify that everything parses
    cu_assert(cmdArgs.parseArgs(argc, const_cast<char **>(argv)));

    // check the values
    cu_assert (cmdArgs.getSseHostname() == "barney");
    cu_assert (cmdArgs.getSsePort() == 8888);
    cu_assert (cmdArgs.getDxPort() == 8877);
    cu_assert (cmdArgs.getName() == "archiver8");

    cout << "test a bad bort number" << endl;
    const char *argvBadPort[] = 
    { "ProgName",
      "-host",
      "matrix",
      "-sse-port",
      "badportnumber",
    };
    const int argcBadPort = ARRAY_LENGTH(argvBadPort);
    cu_assert(cmdArgs.parseArgs(argcBadPort, const_cast<char **>(argvBadPort)) == false);

}
Beispiel #6
0
ThemePlayer::ThemePlayer( PlayerCityPtr city )
  : Srvc( city, defaultName()  ), _d( new Impl )
{ 
  vfs::Path path = SETTINGS_RC_PATH( soundThemesModel );

  if( path.exist() )
  {
    _d->playlist = config::load( path ).get( "items" ).toStringArray();
  }

  _d->lastIndex = 0;
}
Beispiel #7
0
void VDirectoryTree::newSubDirectory()
{
    if (!m_notebook) {
        return;
    }

    QTreeWidgetItem *curItem = currentItem();
    if (!curItem) {
        return;
    }

    VDirectory *curDir = getVDirectory(curItem);

    QString info = tr("Create a subfolder in <span style=\"%1\">%2</span>.")
                     .arg(g_config->c_dataTextStyle)
                     .arg(curDir->getName());
    QString defaultName("new_folder");
    defaultName = VUtils::getDirNameWithSequence(curDir->fetchPath(), defaultName);
    VNewDirDialog dialog(tr("Create Folder"), info, defaultName, curDir, this);
    if (dialog.exec() == QDialog::Accepted) {
        QString name = dialog.getNameInput();
        QString msg;
        VDirectory *subDir = curDir->createSubDirectory(name, &msg);
        if (!subDir) {
            VUtils::showMessage(QMessageBox::Warning,
                                tr("Warning"),
                                tr("Fail to create subfolder <span style=\"%1\">%2</span>.")
                                  .arg(g_config->c_dataTextStyle)
                                  .arg(name),
                                msg,
                                QMessageBox::Ok,
                                QMessageBox::Ok,
                                this);
            return;
        }

        updateItemDirectChildren(curItem);

        locateDirectory(subDir);
    }
}
Beispiel #8
0
void VirtualDesktopManager::save()
{
    if (s_loadingDesktopSettings) {
        return;
    }
    if (!m_config) {
        return;
    }
    QString groupname;
    if (screen_number == 0) {
        groupname = QStringLiteral("Desktops");
    } else {
        groupname.sprintf("Desktops-screen-%d", screen_number);
    }
    KConfigGroup group(m_config, groupname);

    group.writeEntry("Number", count());
    for (uint i = 1; i <= count(); ++i) {
        QString s = name(i);
        const QString defaultvalue = defaultName(i);
        if (s.isEmpty()) {
            s = defaultvalue;
            if (m_rootInfo) {
                m_rootInfo->setDesktopName(i, s.toUtf8().data());
            }
        }

        if (s != defaultvalue) {
            group.writeEntry(QStringLiteral("Name_%1").arg(i), s);
        } else {
            QString currentvalue = group.readEntry(QStringLiteral("Name_%1").arg(i), QString());
            if (currentvalue != defaultvalue) {
                group.deleteEntry(QStringLiteral("Name_%1").arg(i));
            }
        }
    }

    // Save to disk
    group.sync();
}
Beispiel #9
0
void VDirectoryTree::newRootDirectory()
{
    if (!m_notebook) {
        return;
    }

    VDirectory *rootDir = m_notebook->getRootDir();

    QString info = tr("Create a root folder in notebook <span style=\"%1\">%2</span>.")
                     .arg(g_config->c_dataTextStyle)
                     .arg(m_notebook->getName());
    QString defaultName("new_folder");
    defaultName = VUtils::getDirNameWithSequence(rootDir->fetchPath(), defaultName);
    VNewDirDialog dialog(tr("Create Root Folder"), info, defaultName, rootDir, this);
    if (dialog.exec() == QDialog::Accepted) {
        QString name = dialog.getNameInput();
        QString msg;
        VDirectory *dir = rootDir->createSubDirectory(name, &msg);
        if (!dir) {
            VUtils::showMessage(QMessageBox::Warning,
                                tr("Warning"),
                                tr("Fail to create root folder <span style=\"%1\">%2</span>.")
                                  .arg(g_config->c_dataTextStyle)
                                  .arg(name),
                                msg,
                                QMessageBox::Ok,
                                QMessageBox::Ok,
                                this);
            return;
        }

        updateItemDirectChildren(NULL);

        locateDirectory(dir);
    }
}
Military::Military( PlayerCityPtr city )
  : Srvc( city, defaultName() ), _d( new Impl )
{
  _d->needUpdateMilitaryThreat = true;
  _d->threatValue = 0;
}
Fire::Fire( PlayerCityPtr city )
  : city::Srvc( city, defaultName() ), _d( new Impl )
{
}
Beispiel #12
0
void ColorsPreflet::MessageReceived(BMessage *msg)
{
	switch(msg->what)
	{
		case M_POINTSIZE_CHANGED:
		{
			int newsize = fFontSize->Value();
			MainWindow->main.editarea->SetFontSize(newsize);
			
			fParent->SettingsChanged();
		}
		break;
		
		case M_SCHEMESEL_CHANGED:
		{			
			int32 newindex;
			msg->FindInt32("newindex", &newindex);
			
			if (CurrentColorScheme.GetLoadedSchemeIndex() == newindex)
				break;
			
			BMenuItem *item = fSchemeMenu->ItemAt(newindex);
			if (item) item->SetMarked(true);
			
			CurrentColorScheme.SaveScheme();
			CurrentColorScheme.LoadScheme(newindex);
			
			editor.curev->FullRedrawView();
			
			fColorsList->ResetRevertBuffer();
			ReloadSettings();
		}
		break;
		
		case M_SCHEME_DELETE:
		{
			int numschemes = ColorScheme::GetNumColorSchemes();
			
			if (numschemes <= 1)
			{
				(new BAlert("", "Cannot delete that color scheme. There must always least one scheme available.", "OK", NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT))->Go();
				break;
			}
			
			BString prompt;
			prompt << "Are you sure you want to delete the scheme \"" <<
				CurrentColorScheme.GetSchemeName() << "\"?";
			
			BAlert *alert = new BAlert("", prompt.String(), "No", "Yes");
			if (alert->Go())
			{
				int newindex;
				int curscheme = CurrentColorScheme.GetLoadedSchemeIndex();
				
				// make some other scheme active
				if (curscheme == numschemes - 1)
					newindex = curscheme - 1;
				else
					newindex = curscheme + 1;
				
				BMessage msg(M_SCHEMESEL_CHANGED);
				msg.AddInt32("newindex", newindex);
				MessageReceived(&msg);
				
				// now, delete the scheme
				ColorScheme::DeleteScheme(curscheme);
				
				// fixup loaded index for the deletion
				if (newindex > curscheme)
					CurrentColorScheme.LoadScheme(curscheme);
				
				UpdateSchemesMenu();
				
				fColorsList->ResetRevertBuffer();
				ReloadSettings();
			}
		}
		break;
		
		case M_SCHEME_NEW:
		{
			BString *schemeName;
			BString defaultName(CurrentColorScheme.GetSchemeName());
			defaultName.Append(" Copy");
			
			schemeName = InputBox::Go(MainWindow, "New Scheme", "Name of new scheme:", defaultName.String());
			if (!schemeName) break;
			if (!schemeName->String()[0]) break;
			
			stat("creating new scheme '%s'", schemeName->String());
			
			// duplicate current scheme into the next available index
			CurrentColorScheme.SaveScheme();
			ColorScheme tempscheme = CurrentColorScheme;
			
			int count = ColorScheme::GetNumColorSchemes();
			tempscheme.SetSchemeName(schemeName->String());
			tempscheme.SaveScheme(count);
			
			UpdateSchemesMenu();
			
			// set the new scheme to be active
			CurrentColorScheme.LoadScheme(count);
			BMenuItem *item = fSchemeMenu->ItemAt(count);
			if (item) item->SetMarked(true);
			
			// clean up and we're done
			fColorsList->ResetRevertBuffer();
			delete schemeName;
		}
		break;
		
		case M_SCHEME_DEFAULTS:
		{
			BAlert *alert = new BAlert("", "This will erase all user color-schemes and reset"
										   " colors to the built-in defaults. Is that want you"
										   " want to do?", "Cancel", "Set Defaults", NULL,
										   B_WIDTH_AS_USUAL, B_STOP_ALERT);
			
			if (alert->Go())
			{
				ColorScheme::ResetToDefaults();
				CurrentColorScheme.LoadScheme(1);
				UpdateSchemesMenu();
				
				editor.curev->FullRedrawView();
				
				ReloadSettings();
				
				fColorsList->ResetRevertBuffer();
				fParent->SettingsChanged();
			}
		}
		break;
		
		default:
			MessageView::MessageReceived(msg);
		break;
	}	
}
Beispiel #13
0
 /**
  * @brief Class::Class
  */
 Class::Class()
     : Class(defaultName(), GLOBAL_SCOPE_ID)
 {
 }
NS_IMETHODIMP
nsFilePicker::Show(PRInt16 *aReturn)
{
  NS_ENSURE_ARG_POINTER(aReturn);

  nsXPIDLCString title;
  title.Adopt(ToNewUTF8String(mTitle));

  GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget);

  GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
                               ? GTK_STOCK_SAVE : GTK_STOCK_OPEN;
#if (MOZ_PLATFORM_MAEMO == 5)
  GtkWidget *file_chooser =
    hildon_file_chooser_dialog_new_with_properties(parent_widget,
                                                   "action", action,
                                                   "open-button-text", accept_button,
                                                   NULL);
  gtk_window_set_title(GTK_WINDOW(file_chooser), title);
#else
  GtkWidget *file_chooser =
      gtk_file_chooser_dialog_new(title, parent_widget, action,
                                  GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                  accept_button, GTK_RESPONSE_ACCEPT,
                                  NULL);
  gtk_dialog_set_alternative_button_order(GTK_DIALOG(file_chooser),
                                          GTK_RESPONSE_ACCEPT,
                                          GTK_RESPONSE_CANCEL,
                                          -1);
  if (mAllowURLs) {
    gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
  }
#endif

  if (action == GTK_FILE_CHOOSER_ACTION_OPEN || action == GTK_FILE_CHOOSER_ACTION_SAVE) {
    GtkWidget *img_preview = gtk_image_new();
    gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(file_chooser), img_preview);
    g_signal_connect(file_chooser, "update-preview", G_CALLBACK(UpdateFilePreviewWidget), img_preview);
  }

  if (parent_widget && parent_widget->group) {
    gtk_window_group_add_window(parent_widget->group, GTK_WINDOW(file_chooser));
  }

  NS_ConvertUTF16toUTF8 defaultName(mDefault);
  switch (mMode) {
    case nsIFilePicker::modeOpenMultiple:
      gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(file_chooser), TRUE);
      break;
    case nsIFilePicker::modeSave:
      gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(file_chooser),
                                        defaultName.get());
      break;
  }

  nsCOMPtr<nsIFile> defaultPath;
  if (mDisplayDirectory) {
    mDisplayDirectory->Clone(getter_AddRefs(defaultPath));
  } else if (mPrevDisplayDirectory) {
    mPrevDisplayDirectory->Clone(getter_AddRefs(defaultPath));
  }

  if (defaultPath) {
    if (!defaultName.IsEmpty() && mMode != nsIFilePicker::modeSave) {
      // Try to select the intended file. Even if it doesn't exist, GTK still switches
      // directories.
      defaultPath->AppendNative(defaultName);
      nsCAutoString path;
      defaultPath->GetNativePath(path);
      gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(file_chooser), path.get());
    } else {
      nsCAutoString directory;
      defaultPath->GetNativePath(directory);
      gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(file_chooser),
                                          directory.get());
    }
  }

  gtk_dialog_set_default_response(GTK_DIALOG(file_chooser), GTK_RESPONSE_ACCEPT);

  PRInt32 count = mFilters.Length();
  for (PRInt32 i = 0; i < count; ++i) {
    // This is fun... the GTK file picker does not accept a list of filters
    // so we need to split out each string, and add it manually.

    char **patterns = g_strsplit(mFilters[i].get(), ";", -1);
    if (!patterns) {
      return NS_ERROR_OUT_OF_MEMORY;
    }

    GtkFileFilter *filter = gtk_file_filter_new();
    for (int j = 0; patterns[j] != NULL; ++j) {
      nsCAutoString caseInsensitiveFilter = MakeCaseInsensitiveShellGlob(g_strstrip(patterns[j]));
      gtk_file_filter_add_pattern(filter, caseInsensitiveFilter.get());
    }

    g_strfreev(patterns);

    if (!mFilterNames[i].IsEmpty()) {
      // If we have a name for our filter, let's use that.
      const char *filter_name = mFilterNames[i].get();
      gtk_file_filter_set_name(filter, filter_name);
    } else {
      // If we don't have a name, let's just use the filter pattern.
      const char *filter_pattern = mFilters[i].get();
      gtk_file_filter_set_name(filter, filter_pattern);
    }

    gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(file_chooser), filter);

    // Set the initially selected filter
    if (mSelectedType == i) {
      gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(file_chooser), filter);
    }
  }

  gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(file_chooser), PR_TRUE);
  gint response = RunDialog(GTK_DIALOG(file_chooser));

  switch (response) {
    case GTK_RESPONSE_OK:
    case GTK_RESPONSE_ACCEPT:
    ReadValuesFromFileChooser(file_chooser);
    *aReturn = nsIFilePicker::returnOK;
    if (mMode == nsIFilePicker::modeSave) {
      nsCOMPtr<nsILocalFile> file;
      GetFile(getter_AddRefs(file));
      if (file) {
        PRBool exists = PR_FALSE;
        file->Exists(&exists);
        if (exists)
          *aReturn = nsIFilePicker::returnReplace;
      }
    }
    break;

    case GTK_RESPONSE_CANCEL:
    case GTK_RESPONSE_CLOSE:
    case GTK_RESPONSE_DELETE_EVENT:
    *aReturn = nsIFilePicker::returnCancel;
    break;

    default:
    NS_WARNING("Unexpected response");
    *aReturn = nsIFilePicker::returnCancel;
    break;
  }

  gtk_widget_destroy(file_chooser);

  return NS_OK;
}