void UsrGlblMgrEditDialog::CloneVar(cb_unused wxCommandEvent& event) { wxTextEntryDialog d(this, _("Please specify a name for the new clone:"), _("Clone Variable")); PlaceWindow(&d); if (d.ShowModal() == wxID_OK) { wxString clone = d.GetValue(); if (clone.IsEmpty()) return; Sanitise(clone); wxString srcPath(_T("/sets/") + m_CurrentSet + _T('/') + m_CurrentVar + _T('/')); wxString dstPath(_T("/sets/") + m_CurrentSet + _T('/') + clone + _T('/')); wxArrayString existing = m_CfgMan->EnumerateSubPaths(_T("/sets/" + m_CurrentSet)); if (existing.Index(clone) != wxNOT_FOUND) { wxString msg; msg.Printf(_("Cowardly refusing to overwrite existing variable \"%s\"."), clone.wx_str()); InfoWindow::Display(_("Clone Set"), msg); return; } wxArrayString members = m_CfgMan->EnumerateKeys(srcPath); for (unsigned j = 0; j < members.GetCount(); ++j) m_CfgMan->Write(dstPath + members[j], m_CfgMan->Read(srcPath + members[j])); m_CurrentVar = clone; UpdateChoices(); Load(); } }
bool UIDisplay::InitialiseDisplay(void) { // TODO use display when needed const char *displaystring = NULL; Display* display = XOpenDisplay(displaystring); if (display) { UINVControl::InitialiseMetaModes(display, DefaultScreen(display)); XCloseDisplay(display); } m_pixelSize = GetGeometryPriv(); m_physicalSize = GetPhysicalSizePriv(); m_refreshRate = GetRefreshRatePriv(); m_screen = GetScreenPriv(); m_screenCount = GetScreenCountPriv(); Sanitise(); UIEDID::RegisterEDID(m_widget->winId(), m_screen); return true; }