AlbumShaper  1.0a3
Public Member Functions | Static Public Member Functions | Private Slots | Private Attributes
LoadingSavingWidget Class Reference

Loading/Saving Settings. More...

#include <loadingSavingWidget.h>

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

List of all members.

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

Configuration * config
 Backend config object pointer.
QGridLayout * mainGrid
QLabel * categoryLabel
QFrame * horizontalLine
QFrame * defaultToThisThemeFrame
QGridLayout * defaultToThisThemeGrid
QLabel * defaultToThisThemeOnNew
QComboBox * defaultToThisTheme
QFrame * tempImageDirectoryFrame
 Temporary Image directory.
QGridLayout * tempImageDirectoryGrid
QLabel * tempImageDirectory
QLineEdit * tempImageDirectoryVal
QPushButton * browseButton
QCheckBox * checkPhotoMods
 Check for photo modifications on load.

Detailed Description

Loading/Saving Settings.

Definition at line 34 of file loadingSavingWidget.h.


Constructor & Destructor Documentation

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

Definition at line 39 of file loadingSavingWidget.cpp.

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

                                                             : QWidget( parent, name)
{
  this->config = config;

  categoryLabel = new QLabel( tr("Loading + Saving:"), this);
  QFont labelFont = categoryLabel->font();
  labelFont.setWeight(QFont::Bold);
  categoryLabel->setFont( labelFont );

  horizontalLine = new QFrame(this);
  horizontalLine->setLineWidth(2);
  horizontalLine->setMidLineWidth(1);
  horizontalLine->setFrameStyle( QFrame::HLine | QFrame::Raised );
  //----------------
  //Default new album theme
  defaultToThisThemeFrame = new QFrame( this );
  defaultToThisThemeOnNew = new QLabel( tr("Default new album theme:"), defaultToThisThemeFrame);
  defaultToThisTheme = new QComboBox( defaultToThisThemeFrame );
  
  defaultToThisTheme->insertItem( tr("Last Used") );
  QDir localDir( THEMES_PATH );
  QStringList list = localDir.entryList( QDir::Dirs );
  QStringList::Iterator file;
  for ( file = list.begin(); file != list.end(); ++file )
  {
    if(localDir.exists( QString(*file) + "/theme.xsl" ))
      defaultToThisTheme->insertItem( *file );
  }
  
  defaultToThisThemeGrid = new QGridLayout(defaultToThisThemeFrame, 1, 4, 0);
  defaultToThisThemeGrid->addWidget(defaultToThisThemeOnNew, 0, 0);
  defaultToThisThemeGrid->setColSpacing(1, 8);
  defaultToThisThemeGrid->addWidget(defaultToThisTheme, 0, 2);
  defaultToThisThemeGrid->setColSpacing(3, 8);
  defaultToThisThemeGrid->setColStretch(3, 1);
  //----------------
  //Temp directory
  tempImageDirectoryFrame = new QFrame( this );
  tempImageDirectory = new QLabel( tr("Temporary image directory:"), tempImageDirectoryFrame);
  tempImageDirectoryVal = new QLineEdit( tempImageDirectoryFrame );
  tempImageDirectoryVal->setText( "/home" );
  browseButton = new QPushButton( tempImageDirectoryFrame );
  browseButton->setPixmap( QPixmap(QString(IMAGE_PATH)+"buttonIcons/browse.png") );
  browseButton->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Maximum );
  QToolTip::add( browseButton, tr("Browse to temporary image directory") );
  connect( browseButton, SIGNAL(clicked()), SLOT(browse()) );

  tempImageDirectoryGrid = new QGridLayout(tempImageDirectoryFrame, 1, 5, 0);
  tempImageDirectoryGrid->addWidget(tempImageDirectory, 0, 0);
  tempImageDirectoryGrid->setColSpacing(1, 8);
  tempImageDirectoryGrid->addWidget(tempImageDirectoryVal, 0, 2);
  tempImageDirectoryGrid->setColStretch(2, 1);
  tempImageDirectoryGrid->setColSpacing(3, 8);
  tempImageDirectoryGrid->addWidget(browseButton, 0, 4);
  //----------------
  //Check photo mods since last load?
  checkPhotoMods = new QCheckBox( tr("Check for photo modifications"), this );
  //----------------
  //Setup larger boxes in overall grid
  mainGrid = new QGridLayout( this, 6, 1, 0);  
  mainGrid->setSpacing( WIDGET_SPACING );
    
  mainGrid->addWidget( categoryLabel, 0, 0, Qt::AlignLeft );
  mainGrid->addWidget( horizontalLine, 1, 0 );
  mainGrid->addWidget( defaultToThisThemeFrame,  2, 0 );
  mainGrid->addWidget( tempImageDirectoryFrame,  3, 0 );
  mainGrid->addWidget( checkPhotoMods,  4, 0 );
  mainGrid->setRowStretch( 5, 1 );
  //----------------
}

Member Function Documentation

void LoadingSavingWidget::browse ( ) [private, slot]

Definition at line 112 of file loadingSavingWidget.cpp.

References tempImageDirectoryVal.

Referenced by LoadingSavingWidget().

{
  QString dirName = QFileDialog::getExistingDirectory( tempImageDirectoryVal->text(),
                                                                          this, NULL, "Temporary Image Directory");
  if(!dirName.isNull())
    tempImageDirectoryVal->setText( dirName );
}
void LoadingSavingWidget::loadSettings ( )

Definition at line 159 of file loadingSavingWidget.cpp.

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

Referenced by ConfigurationWidget::ConfigurationWidget().

{
  checkPhotoMods->setChecked( ! config->getBool( "loadSave", "disableCheckPhotoMods" ));
  tempImageDirectoryVal->setText( config->getString( "loadSave", "tempImageDirectory" ) );
  tempImageDirectoryVal->setCursorPosition(0);

  int i;
  bool defaultTFound = false;
  QString defaultT = config->getString( "loadSave", "defaultTheme" );
  for(i=1; i<defaultToThisTheme->count(); i++)
  {
    defaultToThisTheme->setCurrentItem(i);
    if(defaultToThisTheme->currentText().compare( defaultT ) == 0)
    {
      defaultTFound = true;
      break;
    }
  }

  if(!defaultTFound)
    defaultToThisTheme->setCurrentItem(0);
}
void LoadingSavingWidget::saveSettings ( )

Definition at line 182 of file loadingSavingWidget.cpp.

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

Referenced by ConfigurationWidget::saveSettings().

{
  config->setBool( "loadSave", "disableCheckPhotoMods", !checkPhotoMods->isChecked() );
  config->setString( "loadSave", "tempImageDirectory",
  QDir::convertSeparators( QDir::cleanDirPath( tempImageDirectoryVal->text() ) ) );
  config->setString( "loadSave", "defaultTheme", defaultToThisTheme->currentText() );
}
void LoadingSavingWidget::setDefaults ( Configuration *  config) [static]

Definition at line 120 of file loadingSavingWidget.cpp.

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

Referenced by Window::Window().

{
  config->setBool( "loadSave", "disableCheckPhotoMods", true );
  config->setString( "loadSave", "defaultTheme", "Last Used" );
  config->setString( "loadSave", "lastUsedTheme", "Slick" );
  //-------
  //set default loading/saving albums, add photo, and temp image directories
  config->setString( "loadSave", "tempImageDirectory", TEMP_DIR );

  //PLATFORM_SPECIFIC_CODE

  //Mac OS X
  #if defined(Q_OS_MACX)
  config->setString( "loadSave", "loadSaveDir",  QDir::homeDirPath() + QString("/Pictures") );

  //Windows
  #elif defined(Q_OS_WIN)
  config->setString( "loadSave", "loadSaveDir",
                           QDir::convertSeparators( getenv("USERPROFILE") +
                                                    QString("/My Documents/My Pictures") ));

  //Unix/Linux/BSD
  #else
  config->setString( "loadSave", "loadSaveDir", QDir::homeDirPath() );
  #endif

  config->setString( "loadSave", "addPhotoDir", config->getString( "loadSave", "loadSaveDir") );
  //-------
  config->setBool( "loadSave", "useDefaultImageSizes", true );
  config->setInt( "loadSave", "thumbWidth", 200 );
  config->setInt( "loadSave", "thumbHeight", 150 );
  config->setInt( "loadSave", "slideshowWidth", 600 );
  config->setInt( "loadSave", "slideshowHeight", 400 );
  config->setInt( "loadSave", "albumWidth", 500 );
  config->setInt( "loadSave", "albumHeight", 320 );
  config->setInt( "loadSave", "subalbumWidth", 200 );
  config->setInt( "loadSave", "subalbumHeight", 150 );
}

Member Data Documentation

QPushButton* LoadingSavingWidget::browseButton [private]

Definition at line 68 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Definition at line 54 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Check for photo modifications on load.

Definition at line 71 of file loadingSavingWidget.h.

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

Backend config object pointer.

Definition at line 49 of file loadingSavingWidget.h.

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

Definition at line 61 of file loadingSavingWidget.h.

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

Definition at line 58 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Definition at line 59 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Definition at line 60 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Definition at line 55 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

QGridLayout* LoadingSavingWidget::mainGrid [private]

Definition at line 51 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Definition at line 66 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Temporary Image directory.

Definition at line 64 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Definition at line 65 of file loadingSavingWidget.h.

Referenced by LoadingSavingWidget().

Definition at line 67 of file loadingSavingWidget.h.

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


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