menue.h/cpp: add method to override menu position from user settings

Origin commit data
------------------
Commit: 341ce4a9c7
Author: Thilo Graf <dbt@novatux.de>
Date: 2019-06-20 (Thu, 20 Jun 2019)
This commit is contained in:
2019-06-20 21:32:01 +02:00
committed by vanhofen
parent 25c2cb7b49
commit c2a2b49ae8
2 changed files with 10 additions and 3 deletions

View File

@@ -638,6 +638,7 @@ void CMenuWidget::Init(const std::string &NameString, const std::string &Icon, c
//pos
x = y = 0;
height = 0;
w_pos_mode = MENU_POS_PRESET;
//caption and icon
nameString = NameString;
@@ -1454,8 +1455,10 @@ void CMenuWidget::setMenuPos(const int& menu_width)
int real_h = full_height + hint_h; // full_height includes footer_height : see calcSize
int x_old = x;
int y_old = y;
//configured positions
switch(g_settings.menu_pos)
//configured/custom positions
int menu_pos = w_pos_mode == MENU_POS_PRESET ? g_settings.menu_pos : w_pos_mode;
switch(menu_pos)
{
case MENU_POS_CENTER:
x = offx + scr_x + ((scr_w - menu_width ) >> 1 );

View File

@@ -555,6 +555,7 @@ class CMenuWidget : public CMenuTarget, public CComponentsSignals
CComponentsHeader *header, *sub_header;
CComponentsFooter *footer;
std::string subhead_text;
int w_pos_mode;
unsigned int saveScreen_width ;
unsigned int saveScreen_height;
unsigned int saveScreen_y;
@@ -664,7 +665,9 @@ class CMenuWidget : public CMenuTarget, public CComponentsSignals
MENU_POS_TOP_LEFT ,
MENU_POS_TOP_RIGHT ,
MENU_POS_BOTTOM_LEFT ,
MENU_POS_BOTTOM_RIGHT
MENU_POS_BOTTOM_RIGHT ,
MENU_POS_PRESET
};
void addKey(neutrino_msg_t key, CMenuTarget *menue, const std::string &action);
void setFooter(const struct button_label *_fbutton_label, const int _fbutton_count, bool repaint = false);
@@ -672,6 +675,7 @@ class CMenuWidget : public CMenuTarget, public CComponentsSignals
void setNextShortcut(int sc) { nextShortcut = sc; };
int getNextShortcut() { return nextShortcut; };
bool gotAction() { return !no_action; };
void setMenuPosMode(int pos_mode){w_pos_mode = pos_mode;}
};
class CPINProtection