[Scummvm-cvs-logs] SF.net SVN: scummvm:[42968] tools/branches/gsoc2009-gui/gui

Remere at users.sourceforge.net Remere at users.sourceforge.net
Sat Aug 1 01:44:52 CEST 2009


Revision: 42968
          http://scummvm.svn.sourceforge.net/scummvm/?rev=42968&view=rev
Author:   Remere
Date:     2009-07-31 23:44:51 +0000 (Fri, 31 Jul 2009)

Log Message:
-----------
*Output directory is now saved, so you don't have to enter it every time.
*Better formatting for the input fields (they now cover 2/3 of the window width).

Modified Paths:
--------------
    tools/branches/gsoc2009-gui/gui/configuration.h
    tools/branches/gsoc2009-gui/gui/pages.cpp

Modified: tools/branches/gsoc2009-gui/gui/configuration.h
===================================================================
--- tools/branches/gsoc2009-gui/gui/configuration.h	2009-07-31 23:30:23 UTC (rev 42967)
+++ tools/branches/gsoc2009-gui/gui/configuration.h	2009-07-31 23:44:51 UTC (rev 42968)
@@ -23,7 +23,8 @@
 #ifndef CONFIGURATION_H
 #define CONFIGURATION_H
 
-#include <wx/string.h>
+#include <wx/config.h>
+#include <wx/filename.h>
 
 #include "../util.h"
 
@@ -34,6 +35,7 @@
  */
 struct Configuration {
 	Configuration();
+	~Configuration();
 	
 	/**
 	 * Returns a list of all supported (as in, we have some defaults for it) platforms
@@ -118,8 +120,19 @@
 	oggMinBitrate = wxT("24");
 	oggAvgBitrate = wxT("24");
 	oggMaxBitrate = wxT("64");
+
+	wxConfig *filecnf = new wxConfig(wxT("ScummVMTools"));
+	filecnf->Read(wxT("outputpath"), &outputPath);
+	delete filecnf;
 }
 
+inline Configuration::~Configuration() {
+	wxConfig *filecnf = new wxConfig(wxT("ScummVMTools"));
+	wxFileName op(outputPath);
+	filecnf->Write(wxT("outputpath"), op.GetPath(wxPATH_GET_VOLUME | wxPATH_GET_SEPARATOR));
+	delete filecnf;
+}
+
 inline wxArrayString Configuration::getTargetPlatforms() {
 	wxArrayString platforms;
 	// Just add new platforms here, it's easy!

Modified: tools/branches/gsoc2009-gui/gui/pages.cpp
===================================================================
--- tools/branches/gsoc2009-gui/gui/pages.cpp	2009-07-31 23:30:23 UTC (rev 42967)
+++ tools/branches/gsoc2009-gui/gui/pages.cpp	2009-07-31 23:44:51 UTC (rev 42968)
@@ -190,15 +190,21 @@
 	
 	sizer->AddSpacer(20);
 
+
 	wxChoice *tool = new wxChoice(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 
 		choices, 0, wxDefaultValidator, wxT("ToolSelection"));
 
 	tool->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(ChooseToolPage::onChangeTool), NULL, this);
 	tool->SetClientData(tool);
-
-	sizer->Add(tool);
 	tool->SetSelection(0);
 
+	wxSizer *toolsizer = new wxBoxSizer(wxHORIZONTAL);
+	toolsizer->Add(tool, wxSizerFlags(2).Expand());
+	toolsizer->Add(20, 20, 1, wxEXPAND);
+
+
+	sizer->Add(toolsizer, wxSizerFlags().Expand());
+
 	sizer->AddSpacer(20);
 
 	wxStaticText *text = new wxStaticText(panel, wxID_ANY, wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxT("ToolText"));
@@ -309,17 +315,22 @@
 
 
 	//if (input._file) {
-		wxFilePickerCtrl *picker = new wxFilePickerCtrl(
-				panel, wxID_ANY, wxEmptyString, wxT("Select a file"), 
-				wxT("*.*"), 
-				wxDefaultPosition, wxSize(300, -1),
-				wxFLP_USE_TEXTCTRL | wxFLP_OPEN, wxDefaultValidator, 
-				wxT("InputPicker"));
-		sizer->Add(picker);
-		panel->Connect(wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler(ChooseIOPage::onSelectFile), NULL, this);
-		if(_configuration.inputFilePaths.size() > 0)
-			picker->SetPath(_configuration.inputFilePaths[0]);
+	wxSizer *pickersizer = new wxBoxSizer(wxHORIZONTAL);
 
+	wxFilePickerCtrl *picker = new wxFilePickerCtrl(
+			panel, wxID_ANY, wxEmptyString, wxT("Select a file"), 
+			wxT("*.*"), 
+			wxDefaultPosition, wxSize(300, -1),
+			wxFLP_USE_TEXTCTRL | wxFLP_OPEN, wxDefaultValidator, 
+			wxT("InputPicker"));
+	panel->Connect(wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler(ChooseIOPage::onSelectFile), NULL, this);
+	if(_configuration.inputFilePaths.size() > 0)
+		picker->SetPath(_configuration.inputFilePaths[0]);
+
+	pickersizer->Add(picker, wxSizerFlags(2).Expand());
+	pickersizer->Add(20, 20, 1, wxEXPAND);
+
+	sizer->Add(pickersizer, wxSizerFlags().Expand());
 	sizer->AddSpacer(30);
 	/* 
 	// TODO: There is no way to select directory input, yet
@@ -399,8 +410,9 @@
 
 	sizer->AddSpacer(10);
 
-	// Create input selection	
-	wxStaticBoxSizer *inputbox = new wxStaticBoxSizer(wxVERTICAL, panel, wxT("Input files"));
+	// Create input selection
+	wxSizer *inputbox = new wxBoxSizer(wxHORIZONTAL);
+	wxStaticBoxSizer *inputsizer = new wxStaticBoxSizer(wxVERTICAL, panel, wxT("Input files"));
 
 	int i = 1;
 	const ToolInputs &inputs = tool.getInputList();
@@ -417,26 +429,28 @@
 			inputFile = _configuration.inputFilePaths[i];
 
 		if (input.file) {
-			inputbox->Add(new wxFilePickerCtrl(
+			inputsizer->Add(new wxFilePickerCtrl(
 				panel, wxID_ANY, inputFile, wxT("Select a file"), 
 				wxString(input.format.c_str(), wxConvUTF8), 
 				wxDefaultPosition, wxDefaultSize, 
 				wxFLP_USE_TEXTCTRL | wxDIRP_DIR_MUST_EXIST, wxDefaultValidator, 
-				windowName));
+				windowName), wxSizerFlags().Expand());
 			panel->Connect(wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler(ChooseIOPage::onSelectFile), NULL, this);
 
 		} else {
-			inputbox->Add(new wxDirPickerCtrl(
+			inputsizer->Add(new wxDirPickerCtrl(
 				panel, wxID_ANY, inputFile, wxT("Select a folder"), 
 				wxDefaultPosition, wxDefaultSize, 
 				wxFLP_USE_TEXTCTRL | wxFLP_OPEN, wxDefaultValidator, 
-				windowName));
+				windowName), wxSizerFlags().Expand());
 			panel->Connect(wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler(ChooseIOPage::onSelectFile), NULL, this);
 
 		}
 		++i;
 	}
-	
+	inputbox->Add(inputsizer, wxSizerFlags(2).Expand());
+	inputbox->Add(20, 20, 1, wxEXPAND);
+
 	sizer->Add(inputbox, wxSizerFlags().Expand());
 
 	SetAlignedSizer(panel, sizer);
@@ -462,7 +476,8 @@
 		filelist.erase(filelist.begin() + 1, filelist.end());
 
 	int i = 1;
-	for (ToolInputs::const_iterator iter = tool.getInputList().begin(); iter != tool.getInputList().end(); ++iter) {
+	ToolInputs inputs = tool.getInputList();
+	for (ToolInputs::const_iterator iter = inputs.begin(); iter != inputs.end(); ++iter) {
 		wxString windowName = wxT("InputPicker");
 		windowName << i;
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list