Exemple #1
0
void LineEdit::PasteColumn()
{
	WString w = ReadClipboardUnicodeText();
	if(w.IsEmpty())
		w = ReadClipboardText().ToWString();
	PasteColumn(w);
	Action();
}
Exemple #2
0
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);
	}
}
Exemple #3
0
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();
    }
}