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