Persist orientation settings.
authordruid23 <usr@dru-id.co.uk>
Sat, 21 Aug 2010 14:31:43 +0000 (15:31 +0100)
committerdruid23 <usr@dru-id.co.uk>
Sat, 21 Aug 2010 14:31:43 +0000 (15:31 +0100)
modified:   appsettings.cpp
modified:   appsettings.h
modified:   browsemainwindow.ui
modified:   main.cpp
modified:   playermainwindow.cpp
modified:   playermainwindow.ui

appsettings.cpp
appsettings.h
browsemainwindow.ui
main.cpp
playermainwindow.cpp
playermainwindow.ui

index 570158b..2c59e8a 100644 (file)
@@ -50,3 +50,13 @@ bool AppSettings::setHomeDirectory(VlcDirectory dir) {
 QList<VlcDirectory>* AppSettings::getFavourites() { return new QList<VlcDirectory>(); }
 bool AppSettings::addFavourite(VlcDirectory dir) { return true; }
 bool AppSettings::deleteFavourite(VlcDirectory dir) { return true; }
+Orientation AppSettings::setOrientation(Orientation orientation) {
+    QSettings sets;
+    sets.setValue("config/orientation", (int)orientation);
+    return orientation;
+}
+Orientation AppSettings::getOrientation() {
+    QSettings sets;
+    return (Orientation)(sets.value("config/orientation", AUTO_ROTATE).toInt());
+}
+
index 2a752be..407b5a2 100644 (file)
@@ -23,6 +23,11 @@ struct VlcDirectory {
     QString name;
     QString path;
 };
+enum Orientation {
+    AUTO_ROTATE = 0,
+    LANDSCAPE,
+    PORTRAIT
+};
 
 class AppSettings {
 public:
@@ -35,6 +40,8 @@ public:
     static bool addFavourite(VlcDirectory dir);
     static bool deleteFavourite(VlcDirectory dir);
     static bool setHomeDirectory(VlcDirectory dir);
+    static Orientation setOrientation(Orientation orientation);
+    static Orientation getOrientation();
 //private:
     //static QSettings settings;
 };
index 395c0dd..ace0713 100644 (file)
@@ -62,8 +62,8 @@
    </widget>
    <addaction name="actionGoHome"/>
    <addaction name="actionSetHome"/>
-   <addaction name="actionViewFavourites"/>
-   <addaction name="actionSetFavourite"/>
+   <!--addaction name="actionViewFavourites"/-->
+   <!--addaction name="actionSetFavourite"/-->
   </widget>
   <action name="actionGoHome">
    <property name="text">
index 6c74fa1..8e21758 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -50,7 +50,21 @@ int main(int argc, char *argv[])
 
   mainwindow->showMaximized();
  #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
-mainwindow->setAttribute(Qt::WA_Maemo5AutoOrientation, true);
+  Orientation o = AppSettings::getOrientation();
+  switch (o) {
+      case AUTO_ROTATE:
+      mainwindow->setAttribute(Qt::WA_Maemo5AutoOrientation, true);
+          break;
+      case LANDSCAPE:
+          mainwindow->setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);
+          break;
+      case PORTRAIT:
+          mainwindow->setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
+          break;
+      default:
+          mainwindow->setAttribute(Qt::WA_Maemo5AutoOrientation, true);
+          break;
+  }
 #endif
     return a.exec();
 }
index c77bd56..ee806f1 100644 (file)
@@ -23,6 +23,7 @@
   #include "configdialog.h"
   #include "aboutdialog.h"
   #include "accountdialog.h"
+  #include "appsettings.h"
   //#include "vlcstatus.h"
 
   PlayerMainWindow::PlayerMainWindow(QWidget *parent) :
@@ -86,6 +87,7 @@
       connect(ui->actionAbout,SIGNAL(triggered()),this,SLOT(showAbout()));
       connect(ui->actionPortrait,SIGNAL(triggered()),this,SLOT(setPortrait()));
       connect(ui->actionLandscape,SIGNAL(triggered()),this,SLOT(setLandscape()));
+      connect(ui->actionAutoRotate,SIGNAL(triggered()),this,SLOT(setAutoRotate()));
       connect(ui->playlistButton,SIGNAL(clicked()),mPlayListMainWindow,SLOT(show()));
       connect(ui->playlistButton,SIGNAL(clicked()),mPlayListMainWindow,SLOT(showPlayList()));
       connect(ui->browseButton,SIGNAL(clicked()),mBrowserMainWindow,SLOT(show()));
 
   void PlayerMainWindow::setPortrait()
   {
-     #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
-     this->setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
+    #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+      AppSettings::setOrientation(PORTRAIT);
+    this->setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
     #endif
-    
-      
   }
 
   void PlayerMainWindow::setLandscape()
   {
-      #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
-      this->setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);
-      #endif
+    #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+      AppSettings::setOrientation(LANDSCAPE);
+    this->setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);
+    #endif
   }
 
   void PlayerMainWindow::setAutoRotate()
   {
     #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
-   this->setAttribute(Qt::WA_Maemo5AutoOrientation, true);
-   #endif
+      AppSettings::setOrientation(AUTO_ROTATE);
+    this->setAttribute(Qt::WA_Maemo5AutoOrientation, true);
+    #endif
   }
 
   void PlayerMainWindow::orientationChanged() {
index fb7648c..a9d9065 100644 (file)
     <addaction name="actionAbout"/>
     <addaction name="actionPortrait"/>
     <addaction name="actionLandscape"/>
+    <addaction name="actionAutoRotate"/>
    </widget>
    <addaction name="menuMenu"/>
   </widget>
     <string>Landscape Mode</string>
    </property>
   </action>
+  <action name="actionAutoRotate">
+   <property name="text">
+    <string>Auto Rotate</string>
+   </property>
+  </action>
  </widget>
  <resources/>
  <connections/>