[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