]> git.vomp.tv Git - vompclient-marten.git/commitdiff
Bugfix interface and changes for remotes with not much buttons
authorMarten Richter <marten.richter@freenet.de>
Fri, 21 Sep 2012 19:02:38 +0000 (21:02 +0200)
committerMarten Richter <marten.richter@freenet.de>
Fri, 21 Sep 2012 19:02:38 +0000 (21:02 +0200)
remote.h
remotelinux.h
vvideolivetv.cc
woptionbox.h
wprogressbar.h
wselectlist.h
wtextbox.h

index e693b782ba63ebf0be6cfb503756e8759dc73671..2a4da446855fe19a588ddab34ba48bf7df075b01 100644 (file)
--- a/remote.h
+++ b/remote.h
@@ -54,6 +54,8 @@ class Remote: public AbstractOption
     virtual UCHAR getButtonPress(int how)=0;
     virtual void clearBuffer()=0;
 
+    virtual bool mayHaveFewButtons() {return false;};
+
     virtual void InitHWCListwithDefaults();
     virtual char* HCWDesc(ULLONG hcw);
     const char *CommandDesc(UCHAR number);
index 949295169c6aa947d0a2457202a9184b205581c0..78790bfd1715a248703552487d3331f36e09227b 100644 (file)
@@ -52,6 +52,8 @@ class RemoteLinux : public Remote
     const char*HardcodedTranslateStr(UCHAR command);
     char* HCWDesc(ULLONG hcw);
     
+    bool mayHaveFewButtons() {return true;};
+
     int initCec();
     void deinitCec();
 
index 6e0771a1862a772c17a946175e0e4c237c530002..42560049e948f02dda9e9129ffe7244e47685ec1 100644 (file)
@@ -295,12 +295,22 @@ int VVideoLiveTV::handleCommand(int command)
     // NEW REMOTE ONLY - navigate EPG, bring it onscreen if it's not there\r
     case Remote::UP:\r
     {\r
-      doUpDown(false);\r
+       if (Remote::getInstance()->mayHaveFewButtons()) {\r
+             if (okTriggeredOSD) doUpDown(false);\r
+             else doChanUpDown(UP);\r
+       } else {\r
+               doUpDown(false);\r
+       }\r
       return 2;\r
     }\r
     case Remote::DOWN:\r
     {\r
-      doUpDown(true);\r
+      if (Remote::getInstance()->mayHaveFewButtons()) {\r
+          if (okTriggeredOSD) doUpDown(true);\r
+          else doChanUpDown(DOWN);\r
+      } else {\r
+         doUpDown(true);\r
+      }\r
       return 2;\r
     }\r
     case Remote::LEFT:\r
index b6effd57b498996e76c23571ceca9cce88945d5a..ae6b7705a042b21f2e201d98577af3ba7ffa8149 100644 (file)
@@ -32,7 +32,7 @@ class WOptionBox : public Boxx
 {
   public:
     WOptionBox();
-    ~WOptionBox();
+    virtual ~WOptionBox();
 
     // Int mode stuff
     void setIntMode(int start, int numOptions);
index 7db78e24ae81d034718700529b6d5962ce544f50..d7addc437bc1574081b8e3d99f499149c5154575 100644 (file)
@@ -36,7 +36,7 @@ class WProgressBar : public Boxx
 {
   public:
     WProgressBar();
-    ~WProgressBar();
+    virtual ~WProgressBar();
     void setPercent(UINT percent);
     void draw();
 
index 9d5a62b95183151b42680e9c9636309ed7910e2b..72b53e011fb89e3a02ac5cdbed7ea9fd1e66c8aa 100644 (file)
@@ -84,7 +84,7 @@ class WSelectList : public Boxx
     bool showseloption, darkseloption;\r
     \r
     UINT gap;\r
-    DrawStyle &backgroundColour;\r
+    DrawStyle backgroundColour;\r
 };\r
 \r
 #endif\r
index 3bab197868462aa600050cb395e2eda1bd1071f9..cc80935df74144cb6b42874f8fdcd2b05da08587 100644 (file)
@@ -43,7 +43,7 @@ class WTextbox : public Boxx
   private:
 
     char* text;
-    DrawStyle& foreColour;
+    DrawStyle foreColour;
     int textX;
     int textY;
     bool paraMode;