AlbumShaper  1.0a3
Public Member Functions | Static Public Member Functions | Private Slots | Private Attributes | List of all members
LoadingSavingWidget Class Reference

Loading/Saving Settings. More...

#include <loadingSavingWidget.h>

Inheritance diagram for LoadingSavingWidget:
Inheritance graph
[legend]
Collaboration diagram for LoadingSavingWidget:
Collaboration graph
[legend]

Public Member Functions

 LoadingSavingWidget (Configuration *config, QWidget *parent=0, const char *name=0)
 
void loadSettings ()
 
void saveSettings ()
 

Static Public Member Functions

static void setDefaults (Configuration *config)
 

Private Slots

void browse ()
 

Private Attributes

Configurationconfig
 Backend config object pointer. More...
 
Q3GridLayout * mainGrid
 
QLabelcategoryLabel
 
Q3FramehorizontalLine
 
Q3FramedefaultToThisThemeFrame
 
Q3GridLayout * defaultToThisThemeGrid
 
QLabeldefaultToThisThemeOnNew
 
QComboBox * defaultToThisTheme
 
Q3FrametempImageDirectoryFrame
 Temporary Image directory. More...
 
Q3GridLayout * tempImageDirectoryGrid
 
QLabeltempImageDirectory
 
QLineEdit * tempImageDirectoryVal
 
QPushButton * browseButton
 
QCheckBox * checkPhotoMods
 Check for photo modifications on load. More...
 

Detailed Description

Loading/Saving Settings.

Definition at line 38 of file loadingSavingWidget.h.

Constructor & Destructor Documentation

◆ LoadingSavingWidget()

LoadingSavingWidget::LoadingSavingWidget ( Configuration config,
QWidget parent = 0,
const char *  name = 0 
)

Definition at line 42 of file loadingSavingWidget.cpp.

44  : QWidget( parent, name)
45 {
46  this->config = config;
47 
48  categoryLabel = new QLabel( tr("Loading + Saving:"), this);
49  QFont labelFont = categoryLabel->font();
50  labelFont.setWeight(QFont::Bold);
51  categoryLabel->setFont( labelFont );
52 
53  horizontalLine = new Q3Frame(this);
54  horizontalLine->setLineWidth(2);
55  horizontalLine->setMidLineWidth(1);
56  horizontalLine->setFrameStyle( Q3Frame::HLine | Q3Frame::Raised );
57  //----------------
58  //Default new album theme
59  defaultToThisThemeFrame = new Q3Frame( this );
60  defaultToThisThemeOnNew = new QLabel( tr("Default new album theme:"), defaultToThisThemeFrame);
62 
63  defaultToThisTheme->insertItem( tr("Last Used") );
64  QDir localDir( THEMES_PATH );
65  QStringList list = localDir.entryList( QDir::Dirs );
66  QStringList::Iterator file;
67  for ( file = list.begin(); file != list.end(); ++file )
68  {
69  if(localDir.exists( QString(*file) + "/theme.xsl" ))
70  defaultToThisTheme->insertItem( *file );
71  }
72 
73  defaultToThisThemeGrid = new Q3GridLayout(defaultToThisThemeFrame, 1, 4, 0);
75  defaultToThisThemeGrid->setColSpacing(1, 8);
77  defaultToThisThemeGrid->setColSpacing(3, 8);
78  defaultToThisThemeGrid->setColStretch(3, 1);
79  //----------------
80  //Temp directory
81  tempImageDirectoryFrame = new Q3Frame( this );
82  tempImageDirectory = new QLabel( tr("Temporary image directory:"), tempImageDirectoryFrame);
84  tempImageDirectoryVal->setText( "/home" );
85  browseButton = new QPushButton( tempImageDirectoryFrame );
86  browseButton->setPixmap( QPixmap(QString(IMAGE_PATH)+"buttonIcons/browse.png") );
87  browseButton->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
88  QToolTip::add( browseButton, tr("Browse to temporary image directory") );
89  connect( browseButton, SIGNAL(clicked()), SLOT(browse()) );
90 
91  tempImageDirectoryGrid = new Q3GridLayout(tempImageDirectoryFrame, 1, 5, 0);
93  tempImageDirectoryGrid->setColSpacing(1, 8);
95  tempImageDirectoryGrid->setColStretch(2, 1);
96  tempImageDirectoryGrid->setColSpacing(3, 8);
97  tempImageDirectoryGrid->addWidget(browseButton, 0, 4);
98  //----------------
99  //Check photo mods since last load?
100  checkPhotoMods = new QCheckBox( tr("Check for photo modifications"), this );
101  //----------------
102  //Setup larger boxes in overall grid
103  mainGrid = new Q3GridLayout( this, 6, 1, 0);
104  mainGrid->setSpacing( WIDGET_SPACING );
105 
106  mainGrid->addWidget( categoryLabel, 0, 0, Qt::AlignLeft );
107  mainGrid->addWidget( horizontalLine, 1, 0 );
108  mainGrid->addWidget( defaultToThisThemeFrame, 2, 0 );
109  mainGrid->addWidget( tempImageDirectoryFrame, 3, 0 );
110  mainGrid->addWidget( checkPhotoMods, 4, 0 );
111  mainGrid->setRowStretch( 5, 1 );
112  //----------------
113 }
QCheckBox * checkPhotoMods
Check for photo modifications on load.
QComboBox * defaultToThisTheme
Q3Frame * tempImageDirectoryFrame
Temporary Image directory.
Q3GridLayout * tempImageDirectoryGrid
Q3GridLayout * defaultToThisThemeGrid
QLineEdit * tempImageDirectoryVal
QPushButton * browseButton
Configuration * config
Backend config object pointer.
QString IMAGE_PATH
Definition: config.cpp:18
QString THEMES_PATH
Definition: config.cpp:21
#define WIDGET_SPACING
Definition: config.h:31

References browse(), browseButton, categoryLabel, checkPhotoMods, config, defaultToThisTheme, defaultToThisThemeFrame, defaultToThisThemeGrid, defaultToThisThemeOnNew, horizontalLine, IMAGE_PATH, mainGrid, tempImageDirectory, tempImageDirectoryFrame, tempImageDirectoryGrid, tempImageDirectoryVal, THEMES_PATH, and WIDGET_SPACING.

Member Function Documentation

◆ browse

void LoadingSavingWidget::browse ( )
privateslot

Definition at line 115 of file loadingSavingWidget.cpp.

116 {
117  QString dirName = Q3FileDialog::getExistingDirectory( tempImageDirectoryVal->text(),
118  this, NULL, "Temporary Image Directory");
119  if(!dirName.isNull())
120  tempImageDirectoryVal->setText( dirName );
121 }

References tempImageDirectoryVal.

Referenced by LoadingSavingWidget().

◆ loadSettings()

void LoadingSavingWidget::loadSettings ( )

Definition at line 162 of file loadingSavingWidget.cpp.

163 {
164  checkPhotoMods->setChecked( ! config->getBool( "loadSave", "disableCheckPhotoMods" ));
165  tempImageDirectoryVal->setText( config->getString( "loadSave", "tempImageDirectory" ) );
166  tempImageDirectoryVal->setCursorPosition(0);
167 
168  int i;
169  bool defaultTFound = false;
170  QString defaultT = config->getString( "loadSave", "defaultTheme" );
171  for(i=1; i<defaultToThisTheme->count(); i++)
172  {
173  defaultToThisTheme->setCurrentItem(i);
174  if(defaultToThisTheme->currentText().compare( defaultT ) == 0)
175  {
176  defaultTFound = true;
177  break;
178  }
179  }
180 
181  if(!defaultTFound)
182  defaultToThisTheme->setCurrentItem(0);
183 }
bool getBool(QString group, QString key)
Fetch bool setting.
QString getString(QString group, QString key)
Fetch string setting.

References checkPhotoMods, config, defaultToThisTheme, Configuration::getBool(), Configuration::getString(), and tempImageDirectoryVal.

Referenced by ConfigurationWidget::ConfigurationWidget().

◆ saveSettings()

void LoadingSavingWidget::saveSettings ( )

Definition at line 185 of file loadingSavingWidget.cpp.

186 {
187  config->setBool( "loadSave", "disableCheckPhotoMods", !checkPhotoMods->isChecked() );
188  config->setString( "loadSave", "tempImageDirectory",
189  QDir::convertSeparators( QDir::cleanDirPath( tempImageDirectoryVal->text() ) ) );
190  config->setString( "loadSave", "defaultTheme", defaultToThisTheme->currentText() );
191 }
void setBool(QString group, QString key, bool val)
Set bool setting.
void setString(QString group, QString key, QString value)
Sets a setting value, if group does not exist it is created, if setting does not exist it is also cre...

References checkPhotoMods, config, defaultToThisTheme, Configuration::setBool(), Configuration::setString(), and tempImageDirectoryVal.

Referenced by ConfigurationWidget::saveSettings().

◆ setDefaults()

void LoadingSavingWidget::setDefaults ( Configuration config)
static

Definition at line 123 of file loadingSavingWidget.cpp.

124 {
125  config->setBool( "loadSave", "disableCheckPhotoMods", true );
126  config->setString( "loadSave", "defaultTheme", "Last Used" );
127  config->setString( "loadSave", "lastUsedTheme", "Slick" );
128  //-------
129  //set default loading/saving albums, add photo, and temp image directories
130  config->setString( "loadSave", "tempImageDirectory", TEMP_DIR );
131 
132  //PLATFORM_SPECIFIC_CODE
133 
134  //Mac OS X
135  #if defined(Q_OS_MACX)
136  config->setString( "loadSave", "loadSaveDir", QDir::homeDirPath() + QString("/Pictures") );
137 
138  //Windows
139  #elif defined(Q_OS_WIN)
140  config->setString( "loadSave", "loadSaveDir",
141  QDir::convertSeparators( getenv("USERPROFILE") +
142  QString("/My Documents/My Pictures") ));
143 
144  //Unix/Linux/BSD
145  #else
146  config->setString( "loadSave", "loadSaveDir", QDir::homeDirPath() );
147  #endif
148 
149  config->setString( "loadSave", "addPhotoDir", config->getString( "loadSave", "loadSaveDir") );
150  //-------
151  config->setBool( "loadSave", "useDefaultImageSizes", true );
152  config->setInt( "loadSave", "thumbWidth", 200 );
153  config->setInt( "loadSave", "thumbHeight", 150 );
154  config->setInt( "loadSave", "slideshowWidth", 600 );
155  config->setInt( "loadSave", "slideshowHeight", 400 );
156  config->setInt( "loadSave", "albumWidth", 500 );
157  config->setInt( "loadSave", "albumHeight", 320 );
158  config->setInt( "loadSave", "subalbumWidth", 200 );
159  config->setInt( "loadSave", "subalbumHeight", 150 );
160 }
void setInt(QString group, QString key, int val)
Set int setting.
QString TEMP_DIR
Definition: config.cpp:23

References config, Configuration::getString(), Configuration::setBool(), Configuration::setInt(), Configuration::setString(), and TEMP_DIR.

Referenced by Window::Window().

Member Data Documentation

◆ browseButton

QPushButton* LoadingSavingWidget::browseButton
private

Definition at line 72 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ categoryLabel

QLabel* LoadingSavingWidget::categoryLabel
private

Definition at line 58 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ checkPhotoMods

QCheckBox* LoadingSavingWidget::checkPhotoMods
private

Check for photo modifications on load.

Definition at line 75 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget(), loadSettings(), and saveSettings().

◆ config

Configuration* LoadingSavingWidget::config
private

Backend config object pointer.

Definition at line 53 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget(), loadSettings(), saveSettings(), and setDefaults().

◆ defaultToThisTheme

QComboBox* LoadingSavingWidget::defaultToThisTheme
private

Definition at line 65 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget(), loadSettings(), and saveSettings().

◆ defaultToThisThemeFrame

Q3Frame* LoadingSavingWidget::defaultToThisThemeFrame
private

Definition at line 62 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ defaultToThisThemeGrid

Q3GridLayout* LoadingSavingWidget::defaultToThisThemeGrid
private

Definition at line 63 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ defaultToThisThemeOnNew

QLabel* LoadingSavingWidget::defaultToThisThemeOnNew
private

Definition at line 64 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ horizontalLine

Q3Frame* LoadingSavingWidget::horizontalLine
private

Definition at line 59 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ mainGrid

Q3GridLayout* LoadingSavingWidget::mainGrid
private

Definition at line 55 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ tempImageDirectory

QLabel* LoadingSavingWidget::tempImageDirectory
private

Definition at line 70 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ tempImageDirectoryFrame

Q3Frame* LoadingSavingWidget::tempImageDirectoryFrame
private

Temporary Image directory.

Definition at line 68 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ tempImageDirectoryGrid

Q3GridLayout* LoadingSavingWidget::tempImageDirectoryGrid
private

Definition at line 69 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

◆ tempImageDirectoryVal

QLineEdit* LoadingSavingWidget::tempImageDirectoryVal
private

Definition at line 71 of file loadingSavingWidget.h.

Referenced by browse(), LoadingSavingWidget(), loadSettings(), and saveSettings().


The documentation for this class was generated from the following files: