MythTV  master
bookmarkmanager.cpp
Go to the documentation of this file.
1 // C++
2 #include <algorithm>
3 #include <iostream>
4 
5 // Qt
6 #include <QString>
7 
8 // MythTV
9 #include <libmyth/mythcontext.h>
10 #include <libmythbase/mythdbcon.h>
11 #include <libmythbase/mythdirs.h>
16 
17 // mythbrowser
18 #include "bookmarkmanager.h"
19 #include "bookmarkeditor.h"
20 #include "browserdbutil.h"
21 #include "mythbrowser.h"
22 #include "mythflashplayer.h"
23 
24 // ---------------------------------------------------
25 
27 {
28  // Load the theme for this screen
29  bool foundtheme = LoadWindowFromXML("browser-ui.xml", "browserconfig", this);
30  if (!foundtheme)
31  return false;
32 
33  m_titleText = dynamic_cast<MythUIText *> (GetChild("title"));
34 
35  if (m_titleText)
36  m_titleText->SetText(tr("MythBrowser Settings"));
37 
38  m_commandEdit = dynamic_cast<MythUITextEdit *> (GetChild("command"));
39  m_zoomEdit = dynamic_cast<MythUITextEdit *> (GetChild("zoom"));
40  m_enablePluginsCheck = dynamic_cast<MythUICheckBox *> (GetChild("enablepluginscheck"));
41 
42  m_descriptionText = dynamic_cast<MythUIText *> (GetChild("description"));
43 
44  m_okButton = dynamic_cast<MythUIButton *> (GetChild("ok"));
45  m_cancelButton = dynamic_cast<MythUIButton *> (GetChild("cancel"));
46 
48  {
49  LOG(VB_GENERAL, LOG_ERR, "Theme is missing critical theme elements.");
50  return false;
51  }
52 
53  m_commandEdit->SetText(gCoreContext->GetSetting("WebBrowserCommand",
54  "Internal"));
55 
56  m_zoomEdit->SetText(gCoreContext->GetSetting("WebBrowserZoomLevel", "1.0"));
57 
58  int setting = gCoreContext->GetNumSetting("WebBrowserEnablePlugins", 1);
59  if (setting == 1)
61 
64 
70 
72 
74 
75  return true;
76 }
77 
79 {
80  float zoom = m_zoomEdit->GetText().toFloat();
81  zoom = std::clamp(zoom, 0.3F, 5.0F);
82  gCoreContext->SaveSetting("WebBrowserZoomLevel", QString("%1").arg(zoom));
83  gCoreContext->SaveSetting("WebBrowserCommand", m_commandEdit->GetText());
84  int checkstate = 0;
86  checkstate = 1;
87  gCoreContext->SaveSetting("WebBrowserEnablePlugins", checkstate);
88 
89  Close();
90 }
91 
92 bool BrowserConfig::keyPressEvent(QKeyEvent *event)
93 {
94  if (GetFocusWidget()->keyPressEvent(event))
95  return true;
96 
97  return MythScreenType::keyPressEvent(event);
98 }
99 
101 {
102  if (!m_descriptionText)
103  return;
104 
105  QString msg = "";
106  if (GetFocusWidget() == m_commandEdit)
107  {
108  msg = tr("This is the command that will be used to show the web browser. "
109  "Use 'Internal' to use the built in web browser'. "
110  "%ZOOM% and %URL% will be replaced with the zoom level and URL list.");
111  }
112  else if (GetFocusWidget() == m_zoomEdit)
113  {
114  msg = tr("This is the default text size that will be used. Valid values "
115  "for the Internal browser are from 0.3 to 5.0 with 1.0 being "
116  "normal size less than 1 is smaller and greater than 1 is "
117  "larger than normal size.");
118  }
119  else if (GetFocusWidget() == m_enablePluginsCheck)
120  {
121  msg = tr("If checked this will enable browser plugins if the 'Internal' "
122  "browser is being used.");
123  }
124  else if (GetFocusWidget() == m_cancelButton)
125  {
126  msg = tr("Exit without saving settings");
127  }
128  else if (GetFocusWidget() == m_okButton)
129  {
130  msg = tr("Save settings and Exit");
131  }
132 
134 }
135 
136 // ---------------------------------------------------
137 
139 {
140  // Load the theme for this screen
141  bool foundtheme = LoadWindowFromXML("browser-ui.xml", "bookmarkmanager", this);
142  if (!foundtheme)
143  return false;
144 
145  m_groupList = dynamic_cast<MythUIButtonList *>(GetChild("grouplist"));
146  m_bookmarkList = dynamic_cast<MythUIButtonList *>(GetChild("bookmarklist"));
147 
148  // optional text area warning user hasn't set any bookmarks yet
149  m_messageText = dynamic_cast<MythUIText *>(GetChild("messagetext"));
150  if (m_messageText)
151  m_messageText->SetText(tr("No bookmarks defined.\n\n"
152  "Use the 'Add Bookmark' menu option to add new bookmarks"));
153 
154  if (!m_groupList || !m_bookmarkList)
155  {
156  LOG(VB_GENERAL, LOG_ERR, "Theme is missing critical theme elements.");
157  return false;
158  }
159 
161  UpdateGroupList();
162  UpdateURLList();
163 
166 
169 
170  BuildFocusList();
171 
173 
174  return true;
175 }
176 
178 {
179  while (!m_siteList.isEmpty())
180  delete m_siteList.takeFirst();
181 }
182 
184 {
185  m_groupList->Reset();
186  QStringList groups;
187  for (int x = 0; x < m_siteList.count(); x++)
188  {
189  Bookmark *site = m_siteList.at(x);
190 
191  if (groups.indexOf(site->m_category) == -1)
192  {
193  groups.append(site->m_category);
195  }
196  }
197 }
198 
200 {
202 
203  if (m_messageText)
204  m_messageText->SetVisible((m_siteList.count() == 0));
205 
207  if (!item)
208  return;
209 
210  QString group = item->GetText();
211 
212  for (int x = 0; x < m_siteList.count(); x++)
213  {
214  Bookmark *site = m_siteList.at(x);
215 
216  if (group == site->m_category)
217  {
218  auto *item2 = new MythUIButtonListItem(m_bookmarkList,
219  "", "", true, MythUIButtonListItem::NotChecked);
220  item2->SetText(site->m_name, "name");
221  item2->SetText(site->m_url, "url");
222  if (site->m_isHomepage)
223  item2->DisplayState("yes", "homepage");
224  item2->SetData(QVariant::fromValue(site));
225  item2->setChecked(site->m_selected ?
227  }
228  }
229 }
230 
232 {
233  auto selected = [](auto *site){ return site && site->m_selected; };
234  return std::count_if(m_siteList.cbegin(), m_siteList.cend(), selected);
235 }
236 
237 bool BookmarkManager::keyPressEvent(QKeyEvent *event)
238 {
239  if (GetFocusWidget()->keyPressEvent(event))
240  return true;
241 
242  QStringList actions;
243  bool handled = GetMythMainWindow()->TranslateKeyPress("qt", event, actions);
244 
245  for (int i = 0; i < actions.size() && !handled; i++)
246  {
247 
248  const QString& action = actions[i];
249  handled = true;
250 
251  if (action == "MENU")
252  {
253  QString label = tr("Actions");
254 
255  MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
256 
257  m_menuPopup = new MythDialogBox(label, popupStack, "actionmenu");
258 
259  if (!m_menuPopup->Create())
260  {
261  delete m_menuPopup;
262  m_menuPopup = nullptr;
263  return true;
264  }
265 
266  m_menuPopup->SetReturnEvent(this, "action");
267 
270 
272  {
274  m_menuPopup->AddButton(tr("Delete Bookmark"), &BookmarkManager::slotDeleteCurrent);
276  }
277 
278  if (GetMarkedCount() > 0)
279  {
283  }
284 
286 
287  popupStack->AddScreen(m_menuPopup);
288  }
289  else if (action == "INFO")
290  {
292 
293  if (item)
294  {
295  auto *site = item->GetData().value<Bookmark*>();
296 
298  {
300  if (site)
301  site->m_selected = true;
302  }
303  else
304  {
306  if (site)
307  site->m_selected = false;
308  }
309  }
310  }
311  else if (action == "DELETE")
312  {
314  }
315  else if (action == "EDIT")
316  {
318  }
319  else
320  {
321  handled = false;
322  }
323  }
324 
325  if (!handled && MythScreenType::keyPressEvent(event))
326  handled = true;
327 
328  return handled;
329 }
330 
332 {
333  UpdateURLList();
335 }
336 
338 {
339  if (!item)
340  return;
341 
342  auto *site = item->GetData().value<Bookmark*>();
343  if (!site)
344  return;
345 
346  m_savedBookmark = *site;
347 
348  QString cmd = gCoreContext->GetSetting("WebBrowserCommand", "Internal");
349  QString zoom = gCoreContext->GetSetting("WebBrowserZoomLevel", "1.0");
350  QStringList urls;
351 
352  urls.append(site->m_url);
353 
354  if (cmd.toLower() == "internal")
355  {
357 
358  MythScreenType *mythbrowser = nullptr;
359  if (urls[0].startsWith("mythflash://"))
360  mythbrowser = new MythFlashPlayer(mainStack, urls);
361  else
362  mythbrowser = new MythBrowser(mainStack, urls);
363 
364  if (mythbrowser->Create())
365  {
366  connect(mythbrowser, &MythScreenType::Exiting, this, &BookmarkManager::slotBrowserClosed);
367  mainStack->AddScreen(mythbrowser);
368  }
369  else
370  {
371  delete mythbrowser;
372  }
373  }
374  else
375  {
376  cmd.replace("%ZOOM%", zoom);
377  cmd.replace("%URL%", urls.join(" "));
378 
379  cmd.replace("&","\\&");
380  cmd.replace(";","\\;");
381 
382  GetMythMainWindow()->AllowInput(false);
384  GetMythMainWindow()->AllowInput(true);
385 
386  // we need to reload the bookmarks incase the user added/deleted
387  // any while in MythBrowser
388  ReloadBookmarks();
389  }
390 }
391 
393 {
394  if (edit)
395  {
397 
398  if (!item || !item->GetData().isValid())
399  {
400  LOG(VB_GENERAL, LOG_ERR, "BookmarkManager: Something is wrong. "
401  "Asked to edit a non existent bookmark!");
402  return;
403  }
404  auto *site = item->GetData().value<Bookmark*>();
405  if (!site)
406  {
407  LOG(VB_GENERAL, LOG_ERR, "BookmarkManager: Something is wrong. "
408  "Existing bookmark is invalid!");
409  return;
410  }
411 
412  m_savedBookmark = *site;
413  }
414 
415 
417 
418  auto *editor = new BookmarkEditor(&m_savedBookmark, edit, mainStack,
419  "bookmarkeditor");
420 
422 
423  if (editor->Create())
424  mainStack->AddScreen(editor);
425 }
426 
428 {
429  ReloadBookmarks();
430 }
431 
433 {
435  UpdateGroupList();
436 
438  UpdateURLList();
439 
440  // try to set the current item to name
441  for (int x = 0; x < m_bookmarkList->GetCount(); x++)
442  {
444  if (item && item->GetData().isValid())
445  {
446  auto *site = item->GetData().value<Bookmark*>();
447  if (site && (*site == m_savedBookmark))
448  {
450  break;
451  }
452  }
453  }
454 }
455 
457 {
459  auto *config = new BrowserConfig(mainStack, "browserconfig");
460 
461  if (config->Create())
462  mainStack->AddScreen(config);
463 }
464 
466 {
467  // Clear all homepage information
469 
470  // Set the homepage information for selected bookmark
472  if (item && item->GetData().isValid())
473  {
474  auto *site = item->GetData().value<Bookmark*>();
475  if (site)
476  UpdateHomepageInDB(site);
477  }
478  ReloadBookmarks();
479 }
480 
482 {
483  ShowEditDialog(false);
484 }
485 
487 {
488  ShowEditDialog(true);
489 }
490 
492 {
494  return;
495 
496  MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
497 
498  QString message = tr("Are you sure you want to delete the selected bookmark?");
499 
500  auto *dialog = new MythConfirmationDialog(popupStack, message, true);
501 
502  if (dialog->Create())
503  popupStack->AddScreen(dialog);
504 
505  connect(dialog, &MythConfirmationDialog::haveResult,
507 }
508 
510 {
511  if (!doDelete)
512  return;
513 
515  if (item)
516  {
517  QString category = "";
518  auto *site = item->GetData().value<Bookmark*>();
519  if (site)
520  {
521  category = site->m_category;
522  RemoveFromDB(site);
523  }
524 
526  UpdateGroupList();
527 
528  if (category != "")
529  m_groupList->MoveToNamedPosition(category);
530 
531  UpdateURLList();
532  }
533 }
534 
536 {
537  if (GetMarkedCount() == 0)
538  return;
539 
540  MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
541 
542  QString message = tr("Are you sure you want to delete the marked bookmarks?");
543 
544  auto *dialog = new MythConfirmationDialog(popupStack, message, true);
545 
546  if (dialog->Create())
547  popupStack->AddScreen(dialog);
548 
549  connect(dialog, &MythConfirmationDialog::haveResult,
551 }
552 
554 {
555  if (!doDelete)
556  return;
557 
558  QString category = m_groupList->GetValue();
559 
560  for (auto *site : std::as_const(m_siteList))
561  {
562  if (site && site->m_selected)
563  RemoveFromDB(site);
564  }
565 
567  UpdateGroupList();
568 
569  if (category != "")
570  m_groupList->MoveToNamedPosition(category);
571 
572  UpdateURLList();
573 }
574 
576 {
578  if (item)
579  slotBookmarkClicked(item);
580 }
581 
583 {
584  if (GetMarkedCount() == 0)
585  return;
586 
588  if (item && item->GetData().isValid())
589  {
590  auto *site = item->GetData().value<Bookmark*>();
591  if (site)
592  m_savedBookmark = *site;
593  }
594 
595  QString cmd = gCoreContext->GetSetting("WebBrowserCommand", "Internal");
596  QString zoom = gCoreContext->GetSetting("WebBrowserZoomLevel", "1.0");
597  QStringList urls;
598 
599  for (const auto *site : std::as_const(m_siteList))
600  {
601  if (site && site->m_selected)
602  urls.append(site->m_url);
603  }
604 
605  if (cmd.toLower() == "internal")
606  {
608 
609  auto *mythbrowser = new MythBrowser(mainStack, urls);
610 
611  if (mythbrowser->Create())
612  {
613  connect(mythbrowser, &MythScreenType::Exiting, this, &BookmarkManager::slotBrowserClosed);
614  mainStack->AddScreen(mythbrowser);
615  }
616  else
617  {
618  delete mythbrowser;
619  }
620  }
621  else
622  {
623  cmd.replace("%ZOOM%", zoom);
624  cmd.replace("%URL%", urls.join(" "));
625 
626  cmd.replace("&","\\&");
627  cmd.replace(";","\\;");
628 
629  GetMythMainWindow()->AllowInput(false);
631  GetMythMainWindow()->AllowInput(true);
632 
633  // we need to reload the bookmarks incase the user added/deleted
634  // any while in MythBrowser
635  ReloadBookmarks();
636  }
637 }
638 
640 {
641  // we need to reload the bookmarks incase the user added/deleted
642  // any while in MythBrowser
643  ReloadBookmarks();
644 }
645 
647 {
648  for (int x = 0; x < m_bookmarkList->GetCount(); x++)
649  {
651  if (item)
652  {
654 
655  auto *site = item->GetData().value<Bookmark*>();
656  if (site)
657  site->m_selected = false;
658  }
659  }
660 }
MythUIButton::Clicked
void Clicked()
BrowserConfig::m_zoomEdit
MythUITextEdit * m_zoomEdit
Definition: bookmarkmanager.h:46
MythUIButtonList::GetItemAt
MythUIButtonListItem * GetItemAt(int pos) const
Definition: mythuibuttonlist.cpp:1700
BookmarkManager::slotDoDeleteMarked
void slotDoDeleteMarked(bool doDelete)
Definition: bookmarkmanager.cpp:553
MythMainWindow::GetMainStack
MythScreenStack * GetMainStack()
Definition: mythmainwindow.cpp:317
BookmarkManager::m_groupList
MythUIButtonList * m_groupList
Definition: bookmarkmanager.h:102
MythDialogBox::SetReturnEvent
void SetReturnEvent(QObject *retobject, const QString &resultid)
Definition: mythdialogbox.cpp:303
BrowserConfig::m_commandEdit
MythUITextEdit * m_commandEdit
Definition: bookmarkmanager.h:45
MythFlashPlayer
Definition: mythflashplayer.h:8
MythUIButtonList::GetItemCurrent
MythUIButtonListItem * GetItemCurrent() const
Definition: mythuibuttonlist.cpp:1614
BrowserConfig::m_titleText
MythUIText * m_titleText
Definition: bookmarkmanager.h:49
MythUIButtonListItem::FullChecked
@ FullChecked
Definition: mythuibuttonlist.h:48
MythScreenType::Close
virtual void Close()
Definition: mythscreentype.cpp:383
BookmarkManager::m_savedBookmark
Bookmark m_savedBookmark
Definition: bookmarkmanager.h:99
MythUIType::GetChild
MythUIType * GetChild(const QString &name) const
Get a named child of this UIType.
Definition: mythuitype.cpp:138
BookmarkManager::slotDeleteCurrent
void slotDeleteCurrent(void)
Definition: bookmarkmanager.cpp:491
BookmarkManager::keyPressEvent
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: bookmarkmanager.cpp:237
MythUIButtonList::itemSelected
void itemSelected(MythUIButtonListItem *item)
bookmarkmanager.h
UpdateHomepageInDB
bool UpdateHomepageInDB(Bookmark *site)
Definition: browserdbutil.cpp:104
MythConfirmationDialog::haveResult
void haveResult(bool)
MythScreenStack
Definition: mythscreenstack.h:16
MythScreenType::Create
virtual bool Create(void)
Definition: mythscreentype.cpp:263
mythdbcon.h
BookmarkManager::slotEditDialogExited
void slotEditDialogExited(void)
Definition: bookmarkmanager.cpp:427
RemoveFromDB
bool RemoveFromDB(Bookmark *site)
Definition: browserdbutil.cpp:158
MythUITextEdit
A text entry and edit widget.
Definition: mythuitextedit.h:34
BookmarkManager::m_messageText
MythUIText * m_messageText
Definition: bookmarkmanager.h:103
BrowserConfig::m_cancelButton
MythUIButton * m_cancelButton
Definition: bookmarkmanager.h:53
Bookmark::m_url
QString m_url
Definition: bookmarkmanager.h:19
LOG
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
Definition: mythlogging.h:39
MythScreenType
Screen in which all other widgets are contained and rendered.
Definition: mythscreentype.h:45
MythUITextEdit::GetText
QString GetText(void) const
Definition: mythuitextedit.h:50
BookmarkManager::slotDoDeleteCurrent
void slotDoDeleteCurrent(bool doDelete)
Definition: bookmarkmanager.cpp:509
mythdirs.h
Bookmark::m_isHomepage
bool m_isHomepage
Definition: bookmarkmanager.h:20
BrowserConfig
Definition: bookmarkmanager.h:31
myth_system
uint myth_system(const QString &command, uint flags, std::chrono::seconds timeout)
Definition: mythsystemlegacy.cpp:506
BookmarkManager::slotDeleteMarked
void slotDeleteMarked(void)
Definition: bookmarkmanager.cpp:535
mythuibuttonlist.h
MythUIButtonList::GetCount
int GetCount() const
Definition: mythuibuttonlist.cpp:1679
BookmarkManager::slotClearMarked
void slotClearMarked(void)
Definition: bookmarkmanager.cpp:646
MythScreenType::GetFocusWidget
MythUIType * GetFocusWidget(void) const
Definition: mythscreentype.cpp:110
MythUIType::TakingFocus
void TakingFocus()
mythsystemlegacy.h
MythUIButtonListItem
Definition: mythuibuttonlist.h:41
MythUITextEdit::SetText
void SetText(const QString &text, bool moveCursor=true)
Definition: mythuitextedit.cpp:198
bookmarkeditor.h
BookmarkManager::slotSetHomepage
void slotSetHomepage(void)
Definition: bookmarkmanager.cpp:465
BookmarkManager::slotSettings
static void slotSettings(void)
Definition: bookmarkmanager.cpp:456
BookmarkEditor
Site category, name and URL edit screen.
Definition: bookmarkeditor.h:18
MythUIType::Refresh
void Refresh(void)
Definition: mythuitype.cpp:1051
MythUIButtonList::itemClicked
void itemClicked(MythUIButtonListItem *item)
MythMainWindow::TranslateKeyPress
bool TranslateKeyPress(const QString &Context, QKeyEvent *Event, QStringList &Actions, bool AllowJumps=true)
Get a list of actions for a keypress in the given context.
Definition: mythmainwindow.cpp:1111
BookmarkManager::m_siteList
QList< Bookmark * > m_siteList
Definition: bookmarkmanager.h:97
MythScreenType::SetFocusWidget
bool SetFocusWidget(MythUIType *widget=nullptr)
Definition: mythscreentype.cpp:115
MythDialogBox::AddButton
void AddButton(const QString &title)
Definition: mythdialogbox.h:198
MythDialogBox
Basic menu dialog, message and a list of options.
Definition: mythdialogbox.h:166
Bookmark::m_selected
bool m_selected
Definition: bookmarkmanager.h:21
MythDialogBox::Create
bool Create(void) override
Definition: mythdialogbox.cpp:127
BookmarkManager::slotAddBookmark
void slotAddBookmark(void)
Definition: bookmarkmanager.cpp:481
MythScreenType::BuildFocusList
void BuildFocusList(void)
Definition: mythscreentype.cpp:203
Bookmark::m_category
QString m_category
Definition: bookmarkmanager.h:16
MythUIButton
A single button widget.
Definition: mythuibutton.h:21
browserdbutil.h
BookmarkManager::slotBrowserClosed
void slotBrowserClosed(void)
Definition: bookmarkmanager.cpp:639
ResetHomepageFromDB
bool ResetHomepageFromDB()
Definition: browserdbutil.cpp:96
Bookmark
Definition: bookmarkmanager.h:11
MythUIButtonListItem::GetData
QVariant GetData()
Definition: mythuibuttonlist.cpp:3715
uint
unsigned int uint
Definition: compat.h:81
gCoreContext
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
Definition: mythcorecontext.cpp:55
BookmarkManager::UpdateURLList
void UpdateURLList(void)
Definition: bookmarkmanager.cpp:199
clamp
static eu8 clamp(eu8 value, eu8 low, eu8 high)
Definition: pxsup2dast.c:204
mythflashplayer.h
MythUICheckBox
A checkbox widget supporting three check states - on,off,half and two conditions - selected and unsel...
Definition: mythuicheckbox.h:15
MythCoreContext::GetNumSetting
int GetNumSetting(const QString &key, int defaultval=0)
Definition: mythcorecontext.cpp:916
BookmarkManager::m_menuPopup
MythDialogBox * m_menuPopup
Definition: bookmarkmanager.h:105
MythUIButtonListItem::NotChecked
@ NotChecked
Definition: mythuibuttonlist.h:46
MythUIButtonListItem::GetText
QString GetText(const QString &name="") const
Definition: mythuibuttonlist.cpp:3368
BrowserConfig::Create
bool Create(void) override
Definition: bookmarkmanager.cpp:26
MythUIText
All purpose text widget, displays a text string.
Definition: mythuitext.h:28
MythScreenType::keyPressEvent
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: mythscreentype.cpp:401
BookmarkManager::Create
bool Create(void) override
Definition: bookmarkmanager.cpp:138
MythBrowser
Definition: mythbrowser.h:18
MythConfirmationDialog
Dialog asking for user confirmation. Ok and optional Cancel button.
Definition: mythdialogbox.h:272
MythUICheckBox::SetCheckState
void SetCheckState(MythUIStateType::StateType state)
Definition: mythuicheckbox.cpp:66
XMLParseBase::LoadWindowFromXML
static bool LoadWindowFromXML(const QString &xmlfile, const QString &windowname, MythUIType *parent)
Definition: xmlparsebase.cpp:687
BookmarkManager::~BookmarkManager
~BookmarkManager() override
Definition: bookmarkmanager.cpp:177
BookmarkManager::GetMarkedCount
uint GetMarkedCount(void)
Definition: bookmarkmanager.cpp:231
BookmarkManager::slotShowMarked
void slotShowMarked(void)
Definition: bookmarkmanager.cpp:582
BookmarkManager::ReloadBookmarks
void ReloadBookmarks(void)
Definition: bookmarkmanager.cpp:432
BrowserConfig::keyPressEvent
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: bookmarkmanager.cpp:92
MythUIButtonList::GetValue
virtual QString GetValue() const
Definition: mythuibuttonlist.cpp:1633
MythUIText::SetText
virtual void SetText(const QString &text)
Definition: mythuitext.cpp:115
MythUIButtonListItem::state
CheckState state() const
Definition: mythuibuttonlist.cpp:3669
MythUIType::SetVisible
virtual void SetVisible(bool visible)
Definition: mythuitype.cpp:1105
mythcontext.h
MythUIButtonList::Reset
void Reset() override
Reset the widget to it's original state, should not reset changes made by the theme.
Definition: mythuibuttonlist.cpp:116
GetMythMainWindow
MythMainWindow * GetMythMainWindow(void)
Definition: mythmainwindow.cpp:104
MythUIButtonList::MoveToNamedPosition
bool MoveToNamedPosition(const QString &position_name)
Definition: mythuibuttonlist.cpp:2318
MythUIButtonList::SetItemCurrent
void SetItemCurrent(MythUIButtonListItem *item)
Definition: mythuibuttonlist.cpp:1581
build_compdb.action
action
Definition: build_compdb.py:9
MythScreenType::Exiting
void Exiting()
MythMainWindow::GetStack
MythScreenStack * GetStack(const QString &Stackname)
Definition: mythmainwindow.cpp:322
BookmarkManager::m_bookmarkList
MythUIButtonList * m_bookmarkList
Definition: bookmarkmanager.h:101
MythUIStateType::Full
@ Full
Definition: mythuistatetype.h:27
BookmarkManager::slotShowCurrent
void slotShowCurrent(void)
Definition: bookmarkmanager.cpp:575
kMSDontDisableDrawing
@ kMSDontDisableDrawing
avoid disabling UI drawing
Definition: mythsystem.h:37
BookmarkManager::UpdateGroupList
void UpdateGroupList(void)
Definition: bookmarkmanager.cpp:183
MythCoreContext::SaveSetting
void SaveSetting(const QString &key, int newValue)
Definition: mythcorecontext.cpp:885
BookmarkManager::slotGroupSelected
void slotGroupSelected(MythUIButtonListItem *item)
Definition: bookmarkmanager.cpp:331
Bookmark::m_name
QString m_name
Definition: bookmarkmanager.h:17
MythMainWindow::AllowInput
void AllowInput(bool Allow)
Definition: mythmainwindow.cpp:1526
mythuicheckbox.h
MythUICheckBox::GetCheckState
MythUIStateType::StateType GetCheckState() const
Definition: mythuicheckbox.cpp:98
MythUIButtonList
List widget, displays list items in a variety of themeable arrangements and can trigger signals when ...
Definition: mythuibuttonlist.h:191
GetSiteList
int GetSiteList(QList< Bookmark * > &siteList)
Definition: browserdbutil.cpp:202
BookmarkManager::ShowEditDialog
void ShowEditDialog(bool edit)
Definition: bookmarkmanager.cpp:392
mythmainwindow.h
BrowserConfig::m_enablePluginsCheck
MythUICheckBox * m_enablePluginsCheck
Definition: bookmarkmanager.h:50
MythUIButtonListItem::setChecked
void setChecked(CheckState state)
Definition: mythuibuttonlist.cpp:3679
MythScreenStack::AddScreen
virtual void AddScreen(MythScreenType *screen, bool allowFade=true)
Definition: mythscreenstack.cpp:52
BrowserConfig::m_descriptionText
MythUIText * m_descriptionText
Definition: bookmarkmanager.h:48
BrowserConfig::slotFocusChanged
void slotFocusChanged(void)
Definition: bookmarkmanager.cpp:100
BrowserConfig::slotSave
void slotSave(void)
Definition: bookmarkmanager.cpp:78
BrowserConfig::m_okButton
MythUIButton * m_okButton
Definition: bookmarkmanager.h:52
BookmarkManager::slotEditBookmark
void slotEditBookmark(void)
Definition: bookmarkmanager.cpp:486
mythbrowser.h
MythCoreContext::GetSetting
QString GetSetting(const QString &key, const QString &defaultval="")
Definition: mythcorecontext.cpp:902
BookmarkManager::slotBookmarkClicked
void slotBookmarkClicked(MythUIButtonListItem *item)
Definition: bookmarkmanager.cpp:337