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

Configurationconfig
 Backend config object pointer.
QGridLayout * mainGrid
QLabelcategoryLabel
QFramehorizontalLine
QFramedefaultToThisThemeFrame
QGridLayout * defaultToThisThemeGrid
QLabeldefaultToThisThemeOnNew
QComboBox * defaultToThisTheme
QFrametempImageDirectoryFrame
 Temporary Image directory.
QGridLayout * tempImageDirectoryGrid
QLabeltempImageDirectory
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: