void LineEdit::PasteColumn() { WString w = ReadClipboardUnicodeText(); if(w.IsEmpty()) w = ReadClipboardText().ToWString(); PasteColumn(w); Action(); }
void RichEdit::StdBar(Bar& menu) { int l, h; Id field; String fieldparam; String ofieldparam; RichObject object; if(GetSelection(l, h)) { CopyTool(menu); CutTool(menu); PasteTool(menu); } else { if(objectpos >= 0) { bar_object = GetObject(); if(!bar_object) return; bar_object.Menu(menu, context); if(!menu.IsEmpty()) menu.Separator(); Size sz = bar_object.GetPhysicalSize(); bool b = sz.cx || sz.cy; menu.Add(t_("Object position.."), THISBACK(AdjustObjectSize)); menu.Separator(); menu.Add(b, "20 %", THISBACK1(SetObjectPercent, 20)); menu.Add(b, "40 %", THISBACK1(SetObjectPercent, 40)); menu.Add(b, "60 %", THISBACK1(SetObjectPercent, 60)); menu.Add(b, "80 %", THISBACK1(SetObjectPercent, 80)); menu.Add(b, "90 %", THISBACK1(SetObjectPercent, 90)); menu.Add(b, "100 %", THISBACK1(SetObjectPercent, 100)); menu.Break(); menu.Add(t_("3 pt up"), THISBACK1(SetObjectYDelta, -3)); menu.Add(t_("2 pt up"), THISBACK1(SetObjectYDelta, -2)); menu.Add(t_("1 pt up"), THISBACK1(SetObjectYDelta, -1)); menu.Add(t_("Baseline"), THISBACK1(SetObjectYDelta, 0)); menu.Add(t_("1 pt down"), THISBACK1(SetObjectYDelta, 1)); menu.Add(t_("2 pt down"), THISBACK1(SetObjectYDelta, 2)); menu.Add(t_("3 pt down"), THISBACK1(SetObjectYDelta, 3)); menu.Separator(); CopyTool(menu); CutTool(menu); } else { RichPos p = cursorp; field = p.field; bar_fieldparam = p.fieldparam; RichPara::FieldType *ft = RichPara::fieldtype().Get(field, NULL); if(ft) { ft->Menu(menu, &bar_fieldparam); if(!menu.IsEmpty()) menu.Separator(); CopyTool(menu); CutTool(menu); } else { WString w = GetWordAtCursor(); if(!w.IsEmpty() && !SpellWord(w, w.GetLength(), fixedlang ? fixedlang : formatinfo.language)) { menu.Add(t_("Add to user dictionary"), THISBACK(AddUserDict)); menu.Separator(); } PasteTool(menu); ObjectTool(menu); } } LoadImageTool(menu); } }
void Player::AddFile(bool append /* = true*/, const String &file) { String filename = ToSystemCharset(file); bool cd = IsCDFile(filename); bool open = false; if(!cd) open = mpx_stream.Open(filename) > 0; else { open = cd_stream.Open(GetCDDrive(filename)) > 0; cd_stream.SetTrack(GetCDTrackNum(filename)); } if(open) { GridCtrl &pl = GetPlaylist(); if(append) pl.DoAppend(); else pl.DoInsertBefore(); //pl.SetNewRowOrder(); WString title = cd ? WString(GetFileTitle(file)) : TrimRight(mpx_stream.GetTag("TITLE")); if(title.IsEmpty()) title = WString(GetFileTitle(file)); pl(1) = filename; pl(2) = title; if(cd) { pl(3) = ""; pl(4) = ""; pl(5) = cd_stream.GetLen(cd_stream.GetTrack()); } else { pl(3) = mpx_stream.GetTag("ARTIST"); pl(4) = mpx_stream.GetTag("ALBUM"); pl(5) = mpx_stream.GetMsLen(); } pl(6) = 0; if(!IsSystemPlaylist(pl)) { SQL * Insert(PLAYLISTS) (ID, list(0)) (POS, pl.GetCursor()) (FILENAME, /*pl(1)*/file) (TITLE, pl(2)) (ARTIST, pl(3)) (ALBUM, pl(4)) (LENGTH, pl(5)); pl(0) = (int) SQL.GetInsertedId(); } else pl(0) = pl.GetCount(); pl.RefreshNewRow(); Sync(); if(!cd) mpx_stream.Close(); } }