diff --git a/uppsrc/TabBar/FileTabs.cpp b/uppsrc/TabBar/FileTabs.cpp index cdbf55979..9aabb4cb1 100644 --- a/uppsrc/TabBar/FileTabs.cpp +++ b/uppsrc/TabBar/FileTabs.cpp @@ -51,7 +51,7 @@ void FileTabs::ComposeStackedTab(Tab& tab, const Tab& stacked_tab, const Font &f Color c = (style == CTRL_HOT) ? extcolor : SColorDisabled(); if (extpos >= 0) { tab.AddText( - txt.Right(txt.GetLength() - extpos - 1), + txt.Mid(extpos + 1), font, c ).Clickable(); @@ -59,16 +59,18 @@ void FileTabs::ComposeStackedTab(Tab& tab, const Tab& stacked_tab, const Font &f else { tab.AddText("-", font, c).Clickable(); } - } + } } Size FileTabs::GetStackedSize(const Tab &t) { if (stackedicons && t.HasIcon()) return min(t.img.GetSize(), Size(TB_ICON, TB_ICON)) + Size(TB_SPACEICON, 0) + 5; - String s = t.value; - s = GetFileExt(s); - return GetTextSize(s.ToWString(), GetStyle().font) + Size(TB_SPACEICON, 0); + + WString txt = IsString(t.value) ? t.value : StdConvert().Format(t.value); + int extpos = txt.ReverseFind('.'); + txt = extpos >= 0 ? txt.Mid(extpos + 1) : "-"; + return GetTextSize(txt, GetStyle().font) + Size(TabBarImg::STSEP().GetSize().cx, 0); } void FileTabs::Serialize(Stream& s) diff --git a/uppsrc/TabBar/TabBar.cpp b/uppsrc/TabBar/TabBar.cpp index ce77b126a..cb2d87345 100644 --- a/uppsrc/TabBar/TabBar.cpp +++ b/uppsrc/TabBar/TabBar.cpp @@ -57,12 +57,12 @@ void AlignedFrame::FramePaint(Draw& w, const Rect& r) break; case BOTTOM: n.bottom -= framesize; - break; + break; } ViewFrame().FramePaint(w, n); } else - FrameCtrl::FramePaint(w, r); + FrameCtrl::FramePaint(w, r); } AlignedFrame& AlignedFrame::SetFrameSize(int sz, bool refresh) @@ -399,35 +399,37 @@ void TabBar::ContextMenu(Bar& bar) { if (highlight >= 0 && crosses) { bar.Add(tabs.GetCount() > mintabcount, t_("Close"), THISBACK2(Close, highlight, true)); - bar.Separator(); } - int cnt = groups.GetCount(); - for(int i = 0; i < cnt; i++) - { - String name = Format("%s (%d)", groups[i].name, groups[i].count); - Bar::Item &it = i > 0 ? bar.Add(name, THISBACK1(GroupMenu, i)) - : bar.Add(name, THISBACK1(DoGrouping, i)); - if(i == group) - it.Image(TabBarImg::CHK); - if(i == 0 && cnt > 1) - bar.Separator(); - } - bool sep = true; if (GetCursor() >= 0 && crosses) { - bar.Separator(); - sep = false; bar.Add(t_("Close others"), THISBACK1(CloseAll, GetCursor())); } if (mintabcount <= 0 && crosses) { - if (sep) bar.Separator(); bar.Add(t_("Close all"), THISBACK1(CloseAll, -1)); } + if(grouping) { + if(group > 0) + bar.Add(t_("Close group"), THISBACK(CloseGroup)); + bar.Separator(); + int cnt = groups.GetCount(); + for(int i = 0; i < cnt; i++) + { + String name = Format("%s (%d)", groups[i].name, groups[i].count); + Bar::Item &it = bar.Add(name, THISBACK1(DoGrouping, i)); + if(i == group) + it.Image(TabBarImg::CHK); + if(i == 0 && cnt > 1) + bar.Separator(); + } + } } -void TabBar::GroupMenu(Bar &bar, int n) +void TabBar::CloseGroup() { - bar.Add(t_("Set active"), THISBACK1(DoGrouping, n)); - bar.Add(t_("Close"), THISBACK1(DoCloseGroup, n)); + if(group <= 0) + return; + Value v = GetData(); + DoCloseGroup(group); + SetData(v); } TabBar::Tab::Tab() @@ -537,7 +539,7 @@ void TabBar::DoStacking() } highlight = -1; SetData(v); - MakeGroups(); + MakeGroups(); Repos(); } @@ -547,9 +549,9 @@ void TabBar::DoUnstacking() for (int i = 0; i < tabs.GetCount(); i++) tabs[i].stack = -1; highlight = -1; - MakeGroups(); + MakeGroups(); Repos(); - if (HasCursor()) + if (HasCursor()) SetCursor(-1); else Refresh(); @@ -557,12 +559,12 @@ void TabBar::DoUnstacking() void TabBar::SortStack(int stackix) { - if (!stacksort) return; + if (!stacksort) return; int head = FindStackHead(stackix); int tail = head; while (tail < tabs.GetCount() && tabs[tail].stack == stackix) - ++tail; + ++tail; SortStack(stackix, head, tail-1); } @@ -623,6 +625,10 @@ void TabBar::DoGrouping(int n) { Value c = GetData(); group = n; + String g = GetGroupName(); + for(int i = 0; i < tabs.GetCount(); i++) + if(tabs[i].group == g) + c = GetKey(i); Repos(); SyncScrollBar(); SetData(c); @@ -854,7 +860,7 @@ void TabBar::ComposeTab(Tab& tab, const Font &font, Color ink, int style) void TabBar::ComposeStackedTab(Tab& tab, const Tab& stacked_tab, const Font& font, Color ink, int style) { tab.AddImage(stacked_tab.img); - tab.AddText("|...", font, ink); + tab.AddText("|...", font, ink); } int TabBar::GetTextAngle() @@ -1376,7 +1382,6 @@ void TabBar::Repos() return; String g = GetGroupName(); - int j; bool first = true; j = 0; @@ -1442,7 +1447,7 @@ int TabBar::TabPos(const String &g, bool &first, int i, int j, bool inactive) // Stacked/shortened tabs if (stacking) { for(int n = i + 1; n < tabs.GetCount() && tabs[n].stack == t.stack; n++) - cx += GetStackedSize(tabs[n]).cx; + cx += GetStackedSize(tabs[n]).cx; } t.size.cx = cx + GetExtraWidth(); @@ -1463,7 +1468,7 @@ int TabBar::TabPos(const String &g, bool &first, int i, int j, bool inactive) t.visible = false; t.pos.x = sc.GetTotal() + GetBarSize(GetSize()).cx; } - return j; + return j; } void TabBar::ShowScrollbarFrame(bool b) @@ -1476,7 +1481,7 @@ void TabBar::ShowScrollbarFrame(bool b) void TabBar::SyncScrollBar(bool synctotal) { if (synctotal) - sc.SetTotal(GetWidth()); + sc.SetTotal(GetWidth()); if (autoscrollhide) { bool v = sc.IsScrollable(); if (sc.IsShown() != v) { @@ -1519,7 +1524,7 @@ void TabBar::Clear() drag_highlight = -1; active = -1; target = -1; - cross = -1; + cross = -1; stackcount = 0; tabs.Clear(); groups.Clear(); @@ -1541,20 +1546,20 @@ TabBar& TabBar::SortTabs(bool b) { tabsort = b; if (b) - DoTabSort(*tabsorter); + DoTabSort(*tabsorter); return *this; } TabBar& TabBar::SortTabsOnce() { DoTabSort(*tabsorter); - return *this; + return *this; } TabBar& TabBar::SortTabsOnce(TabSort &sort) { DoTabSort(sort); - return *this; + return *this; } TabBar& TabBar::SortTabs(TabSort &sort) diff --git a/uppsrc/TabBar/TabBar.h b/uppsrc/TabBar/TabBar.h index 2151cb34e..871a1f914 100644 --- a/uppsrc/TabBar/TabBar.h +++ b/uppsrc/TabBar/TabBar.h @@ -123,7 +123,7 @@ protected: TB_SBSEPARATOR = 1, TB_ICON = 16, TB_SPACEICON = 3 - }; + }; public: struct TabItem : Moveable { int x; @@ -188,7 +188,7 @@ public: bool HasMouse(const Point& p) const; bool HasMouseCross(const Point& p) const; bool HasIcon() const { return !img.IsEmpty(); } - int Right() const { return pos.x + size.cx; } + int Right() const { return pos.x + size.cx; } TabItem& AddItem(); void Clear(); @@ -203,10 +203,10 @@ public: // Tab sorting structures struct TabSort { virtual bool operator()(const Tab& a, const Tab& b) const = 0; - }; + }; struct TabGroupSort : public TabSort { virtual bool operator()(const Tab& a, const Tab& b) const { return a.group < b.group; } - }; + }; protected: struct Group : Moveable { Group() {} @@ -228,13 +228,13 @@ protected: struct TabKeySort : public TabSort { virtual bool operator()(const Tab& a, const Tab& b) const { return (*vo)(a.key, b.key); } const ValueOrder *vo; - }; + }; protected: - TabScrollBar sc; + TabScrollBar sc; Array groups; - Array tabs; + Array tabs; Array separators; int active; int id; @@ -248,7 +248,7 @@ protected: bool isctrl; bool isdrag; bool grouping; - bool autoscrollhide; + bool autoscrollhide; bool nosel; bool nohl; bool inactivedisabled; @@ -356,6 +356,8 @@ protected: void SortTabs0(); void SortStack(int stackix); void SortStack(int stackix, int head, int tail); + + void CloseGroup(); // Insertion without repos/refresh - for batch actions int InsertKey0(int ix, const Value& key, const Value& value, Image icon = Null, String group = Null); @@ -374,8 +376,6 @@ protected: Point GetImagePosition(int align, const Rect& r, int cx, int cy, int space, int side, int offset = 2) const; bool PaintIcons() { return icons; } - // Sub-class menu overrides - virtual void GroupMenu(Bar& bar, int n); // Sorting/Stacking overriddes virtual String GetStackId(const Tab& a) { return a.group; } // For sub-classes to recieve cursor changes without using WhenAction diff --git a/uppsrc/TabBar/TabBar.iml b/uppsrc/TabBar/TabBar.iml index e8d3f8f77..d6270a508 100644 --- a/uppsrc/TabBar/TabBar.iml +++ b/uppsrc/TabBar/TabBar.iml @@ -14,78 +14,78 @@ IMAGE_ID(SEPV) IMAGE_ID(STSEP) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,87,11,80,85,215,21,189,66,226,32,218,106,35,202,136,90,73,38,198,233,116,146,209,233,76,53,13,49,133) -IMAGE_DATA(10,19,52,160,68,177,1,35,50,81,252,163,22,162,149,40,81,195,40,106,99,109,52,126,34,254,248,35,8,242,19,229) -IMAGE_DATA(39,242,21,16,65,136,124,222,19,8,60,30,127,17,129,130,128,218,213,189,143,92,130,47,60,96,146,241,215,233,102,214) -IMAGE_DATA(236,179,247,94,235,158,179,207,61,151,123,159,164,39,233,73,191,208,108,9,24,164,38,215,209,147,211,172,217,246,169,67) -IMAGE_DATA(75,77,83,163,89,211,228,244,87,27,216,126,77,127,207,219,146,146,146,48,20,244,167,27,204,180,233,42,42,42,6,196) -IMAGE_DATA(139,162,203,201,201,25,16,47,187,238,231,220,247,103,102,255,127,56,94,220,135,195,223,223,127,208,67,199,156,151,89,55) -IMAGE_DATA(20,104,234,158,153,189,8,15,199,142,29,59,48,20,244,167,27,236,208,105,211,149,148,148,12,136,23,65,103,103,103,135) -IMAGE_DATA(200,200,200,1,193,156,151,89,55,20,104,234,158,153,245,125,56,54,56,175,219,121,228,240,161,168,171,73,137,72,136,143) -IMAGE_DATA(29,16,73,137,241,96,174,172,73,73,78,130,162,164,8,229,101,183,81,86,170,236,23,92,187,173,44,1,115,31,207,147) -IMAGE_DATA(128,155,121,57,40,200,207,69,254,205,27,3,66,230,36,38,196,10,176,46,47,247,186,192,141,156,44,81,203,189,145,221) -IMAGE_DATA(155,235,11,230,166,36,95,121,66,199,220,138,31,74,81,91,83,213,171,173,86,87,10,48,71,70,242,213,68,196,196,68) -IMAGE_DATA(225,6,213,115,104,158,92,210,170,137,83,67,58,246,149,149,229,98,204,200,206,190,134,100,154,231,250,245,76,36,208,92) -IMAGE_DATA(23,66,67,112,61,235,26,178,174,165,35,51,35,77,120,85,69,57,212,170,138,94,240,62,70,71,134,227,210,197,40,129) -IMAGE_DATA(200,240,48,132,4,7,34,43,51,29,215,50,82,5,50,210,83,104,255,20,80,209,92,12,94,119,124,220,37,196,94,190) -IMAGE_DATA(40,124,66,252,101,92,8,11,65,128,191,143,224,167,167,37,11,205,109,101,49,237,185,82,64,30,243,117,228,189,72,186) -IMAGE_DATA(18,143,208,243,231,224,235,115,70,240,211,82,175,138,218,247,5,121,130,207,215,141,142,10,167,251,90,40,192,247,139,53) -IMAGE_DATA(236,121,141,190,222,103,144,150,114,21,169,116,63,227,99,47,137,126,217,115,31,236,99,162,35,17,21,113,1,9,113,151) -IMAGE_DATA(113,245,74,2,146,233,92,157,15,14,66,80,160,159,152,255,74,98,28,46,209,222,94,140,142,64,204,197,72,209,15,207) -IMAGE_DATA(201,121,174,203,243,241,61,240,247,243,22,103,230,92,144,191,136,251,174,133,99,94,119,106,74,210,19,136,8,15,125,226) -IMAGE_DATA(140,6,5,248,137,126,251,67,88,104,176,64,96,128,111,175,230,39,111,142,45,43,150,239,84,44,95,133,66,43,155,1) -IMAGE_DATA(81,188,100,25,152,43,107,148,107,157,113,55,45,11,173,133,183,209,122,75,209,63,168,118,47,59,15,202,53,235,133,182) -IMAGE_DATA(196,105,53,106,124,67,81,27,28,141,154,160,200,199,8,136,248,113,28,216,3,26,215,158,139,34,31,133,34,91,123,220) -IMAGE_DATA(90,96,139,106,223,112,168,79,157,19,80,29,243,35,94,4,170,188,2,81,117,50,8,234,211,193,2,98,204,28,239,80) -IMAGE_DATA(148,172,118,70,225,130,69,164,187,64,53,210,28,247,195,191,203,43,241,160,243,62,93,55,130,98,95,116,222,107,17,80) -IMAGE_DATA(159,37,253,217,16,168,125,194,160,112,90,135,12,235,249,34,174,242,242,135,218,63,12,93,247,59,240,224,65,55,186,201) -IMAGE_DATA(223,191,115,71,140,25,229,223,249,160,212,249,75,168,143,122,35,119,229,26,68,90,206,69,245,9,127,168,142,156,65,197) -IMAGE_DATA(161,83,40,244,246,67,103,123,59,186,187,186,122,145,178,231,107,228,154,88,65,249,254,98,148,154,44,66,226,92,27,248) -IMAGE_DATA(152,91,160,230,155,227,80,29,56,76,56,132,74,207,3,184,91,93,141,251,29,247,5,90,155,155,81,100,239,132,170,217) -IMAGE_DATA(212,143,185,29,234,9,81,150,214,56,100,102,134,90,226,170,60,246,66,181,123,31,26,42,85,104,104,108,194,157,166,102) -IMAGE_DATA(212,86,215,160,145,198,141,181,245,184,227,228,138,123,230,182,104,181,180,67,240,135,115,225,49,219,4,181,110,238,80,109) -IMAGE_DATA(113,67,185,235,86,20,230,230,67,69,252,184,237,30,136,249,171,3,202,43,42,81,74,40,119,218,136,22,243,197,104,35) -IMAGE_DATA(221,233,57,230,216,249,129,9,234,215,109,64,21,221,207,34,27,71,4,155,91,35,218,237,75,20,152,204,23,107,139,89) -IMAGE_DATA(182,10,33,75,87,66,109,102,131,22,203,79,30,235,204,205,177,111,190,21,202,109,150,66,101,179,12,55,223,183,67,246) -IMAGE_DATA(187,118,200,125,207,150,246,192,14,213,166,118,104,50,91,140,122,66,11,245,117,143,208,102,105,143,61,166,166,226,204,124) -IMAGE_DATA(107,97,138,198,69,54,168,91,107,141,234,13,214,168,223,100,141,38,23,107,180,184,90,163,125,179,21,58,100,124,62,31) -IMAGE_DATA(97,11,205,159,56,163,95,89,154,227,228,60,115,156,152,55,7,39,172,230,192,139,252,41,107,51,156,182,122,140,179,52) -IMAGE_DATA(222,243,129,105,175,230,39,15,199,81,87,151,128,172,215,141,145,76,191,240,7,66,250,184,113,96,174,172,201,30,101,128) -IMAGE_DATA(186,128,112,220,77,185,142,187,73,217,253,131,106,141,225,177,200,214,31,43,180,153,198,198,40,117,245,64,153,251,63,81) -IMAGE_DATA(246,197,63,30,99,235,254,31,199,110,61,224,241,246,3,228,15,32,85,95,31,41,52,127,169,171,39,20,107,182,11,20) -IMAGE_DATA(47,251,156,120,251,81,226,228,70,15,193,54,40,214,186,11,136,49,213,149,127,243,64,166,158,1,82,101,29,213,138,29) -IMAGE_DATA(255,142,182,252,98,252,167,171,91,92,191,216,113,11,186,239,54,11,40,55,236,132,114,227,46,40,93,246,32,91,119,44) -IMAGE_DATA(66,73,87,70,215,80,172,114,67,233,86,79,60,164,67,205,198,218,174,186,134,222,223,55,5,43,182,224,166,225,44,148) -IMAGE_DATA(45,115,69,236,171,99,112,144,116,229,107,190,128,194,209,5,197,75,157,145,78,135,79,214,202,22,244,225,2,196,17,47) -IMAGE_DATA(143,144,79,56,67,216,66,168,88,226,4,197,66,7,40,62,94,138,18,203,133,104,170,172,160,7,240,161,64,91,115,11) -IMAGE_DATA(174,73,122,40,227,235,19,170,9,255,34,216,19,84,150,31,67,97,54,23,10,11,43,212,40,233,205,216,208,132,6,234) -IMAGE_DATA(73,85,89,133,58,26,215,169,107,80,175,55,21,205,196,109,35,236,34,152,18,170,102,204,130,242,247,51,240,253,212,119) -IMAGE_DATA(144,158,152,12,37,241,79,254,209,12,223,82,237,86,137,18,249,132,66,253,41,104,165,184,157,176,145,96,194,115,27,254) -IMAGE_DATA(22,165,99,39,32,147,198,95,17,190,153,254,174,56,31,188,182,35,210,175,224,33,141,18,227,190,186,121,6,99,113,139) -IMAGE_DATA(188,146,112,133,16,67,144,247,128,251,105,236,233,137,53,205,61,58,11,2,159,25,7,242,117,4,245,107,196,157,72,188) -IMAGE_DATA(41,196,127,131,184,111,74,232,156,38,161,75,198,84,9,123,123,52,242,25,157,77,103,103,45,229,86,17,86,19,214,16) -IMAGE_DATA(214,19,54,244,172,203,133,96,222,71,243,66,252,230,248,165,54,108,216,176,87,201,233,104,164,117,122,242,90,53,250,250) -IMAGE_DATA(250,211,244,244,244,94,239,163,213,225,152,243,218,180,58,58,58,186,70,70,70,239,76,152,48,97,22,115,153,199,158,99) -IMAGE_DATA(206,115,93,219,156,163,71,143,30,51,105,210,164,233,204,165,57,126,199,158,99,206,15,214,35,113,94,35,238,159,38,79) -IMAGE_DATA(158,108,194,158,227,193,52,114,63,19,39,78,100,221,44,246,26,253,106,213,200,107,27,63,126,188,161,188,230,129,180,212) -IMAGE_DATA(247,43,134,134,134,51,250,246,35,247,203,121,174,247,167,163,253,211,49,48,48,24,167,185,7,28,115,158,235,67,232,243) -IMAGE_DATA(233,216,255,194,195,65,54,142,48,82,35,55,178,39,175,85,67,7,230,60,221,128,67,125,180,35,57,230,188,54,173,174) -IMAGE_DATA(174,174,241,177,99,199,58,28,28,28,154,123,180,227,216,115,204,121,174,107,155,208,209,209,241,76,64,64,0,152,107,108) -IMAGE_DATA(108,28,195,158,99,206,15,214,32,113,124,221,221,221,177,121,243,102,176,231,120,48,141,220,143,179,179,115,247,238,221,187) -IMAGE_DATA(193,94,163,95,173,26,121,109,137,137,137,63,200,107,30,72,75,135,216,136,174,95,223,183,31,185,95,206,115,93,203,124) -IMAGE_DATA(99,252,252,252,242,52,247,128,99,206,115,125,8,125,62,29,123,26,15,199,111,36,105,218,135,146,228,191,66,146,212,155) -IMAGE_DATA(232,53,197,158,227,241,146,244,7,109,154,25,146,228,66,175,184,142,139,246,246,40,59,120,16,13,103,207,10,31,255,217) -IMAGE_DATA(103,216,75,159,95,239,73,146,167,166,102,150,36,237,242,158,61,27,202,253,251,81,239,229,133,218,163,71,81,71,96,207) -IMAGE_DATA(177,250,248,113,112,157,121,178,102,180,36,189,73,175,209,135,172,121,216,77,191,27,90,91,81,69,243,168,247,237,19,158) -IMAGE_DATA(99,206,115,157,121,204,103,29,207,31,66,223,189,183,182,109,67,147,82,137,71,143,30,161,171,165,5,21,164,99,207,49) -IMAGE_DATA(231,185,206,60,121,189,182,146,148,154,186,112,33,10,214,175,71,56,161,166,168,72,112,101,112,204,121,174,51,143,249,172) -IMAGE_DATA(91,34,73,121,25,243,230,161,248,211,79,145,65,8,118,114,66,119,103,167,208,176,231,152,243,162,78,60,230,179,110,129) -IMAGE_DATA(36,93,138,155,57,19,69,31,125,132,2,91,91,180,211,111,34,214,180,183,181,61,246,20,115,158,235,204,99,62,235,166) -IMAGE_DATA(75,210,70,47,35,35,228,91,88,160,163,161,65,112,203,50,51,177,201,196,68,120,142,57,207,117,230,49,159,117,244,122) -IMAGE_DATA(29,181,82,146,26,2,223,122,11,173,117,117,40,77,79,135,231,219,111,227,20,129,61,199,156,231,58,243,152,47,223,139) -IMAGE_DATA(201,146,244,23,103,73,234,222,77,159,232,95,79,153,130,72,66,90,143,231,152,243,92,103,158,198,173,31,70,185,57,203) -IMAGE_DATA(37,73,229,57,124,56,124,232,115,41,96,228,72,225,57,230,243,198,117,230,245,119,214,232,85,52,252,13,73,178,254,179) -IMAGE_DATA(36,29,166,11,127,199,158,99,206,63,65,212,147,70,72,175,80,139,186,146,214,175,129,167,101,51,233,85,251,137,182,34) -IMAGE_DATA(253,167,153,73,255,133,127,118,253,169,216,8,218,46,221,158,237,122,142,54,179,15,250,53,222,88,25,207,110,89,26,54) -IMAGE_DATA(130,254,94,34,115,124,222,11,24,204,254,11,44,231,253,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +IMAGE_DATA(120,156,237,87,11,80,85,215,21,189,66,226,32,218,106,227,135,17,181,146,76,140,211,233,36,163,211,153,106,26,98,42) +IMAGE_DATA(245,49,162,1,37,138,13,24,145,137,226,31,181,160,86,162,68,13,163,168,141,181,209,248,137,127,249,11,130,8,136,242) +IMAGE_DATA(147,63,34,42,8,145,207,123,2,129,199,227,47,34,80,16,80,187,186,247,225,93,130,47,60,112,226,160,166,211,205,172) +IMAGE_DATA(217,103,239,189,214,61,103,159,123,46,247,93,201,72,50,146,158,211,236,8,232,163,38,215,161,205,233,214,236,186,213,161) +IMAGE_DATA(167,166,171,209,173,233,114,122,170,245,110,191,166,191,151,109,9,9,9,120,22,244,164,235,203,244,233,74,75,75,123,197) +IMAGE_DATA(171,162,187,121,243,102,175,248,165,235,126,206,125,127,97,246,255,135,227,213,125,56,252,252,252,250,60,116,204,249,37,235) +IMAGE_DATA(158,5,186,186,23,102,175,194,195,177,109,219,54,60,11,122,210,245,117,232,244,233,10,11,11,123,197,171,160,179,183,183) +IMAGE_DATA(71,120,120,120,175,96,206,47,89,247,44,208,213,189,48,235,254,112,172,117,89,189,253,208,193,3,17,137,9,241,136,139) +IMAGE_DATA(141,238,21,9,241,177,96,174,172,73,78,74,128,178,48,31,37,197,119,81,92,164,234,17,92,187,171,42,4,115,59,231) +IMAGE_DATA(137,195,237,236,155,200,205,201,66,206,237,91,189,66,230,196,199,69,11,176,46,59,235,134,192,173,155,215,69,45,235,86) +IMAGE_DATA(102,87,174,59,152,155,156,116,245,41,29,115,75,127,40,66,85,101,121,151,182,66,83,38,192,28,25,73,137,241,136,138) +IMAGE_DATA(138,192,45,170,223,164,121,178,72,171,33,78,37,233,216,151,149,149,136,49,35,51,243,26,146,104,158,27,55,50,16,71) +IMAGE_DATA(115,93,8,9,198,141,235,215,112,253,90,26,50,210,83,133,87,151,150,64,163,46,237,2,239,99,100,120,24,46,95,138) +IMAGE_DATA(16,8,15,11,69,112,80,0,174,103,164,225,90,122,138,64,122,90,50,237,159,18,106,154,139,193,235,142,141,185,140,232) +IMAGE_DATA(43,151,132,143,139,189,130,11,161,193,240,247,243,22,252,180,212,36,161,185,171,42,160,61,87,9,200,99,190,142,188,23) +IMAGE_DATA(9,87,99,17,114,254,28,124,188,79,11,126,106,74,162,168,125,159,155,45,248,124,221,200,136,48,186,175,121,2,124,191) +IMAGE_DATA(88,195,158,215,232,115,246,52,82,147,19,145,66,247,51,54,250,178,232,151,61,247,193,62,42,50,28,17,23,47,32,46) +IMAGE_DATA(230,10,18,175,198,33,137,206,213,249,160,64,4,6,248,138,249,175,198,199,224,50,237,237,165,200,139,136,186,20,46,250) +IMAGE_DATA(225,57,57,207,117,121,62,190,7,126,190,103,197,153,57,23,232,39,226,238,107,225,152,215,157,146,156,240,20,46,134,133) +IMAGE_DATA(60,117,70,3,253,125,69,191,61,33,52,36,72,32,192,223,167,75,243,147,55,199,166,165,75,182,43,151,44,71,158,181) +IMAGE_DATA(109,175,40,88,184,24,204,149,53,170,85,46,184,159,122,29,77,121,119,209,116,71,217,51,168,246,32,51,27,170,149,107) +IMAGE_DATA(132,182,208,121,5,42,125,66,80,21,20,137,202,192,240,78,248,95,252,113,28,160,5,141,171,206,69,144,143,64,190,157) +IMAGE_DATA(3,238,204,181,67,133,79,24,52,39,207,9,168,143,248,18,239,34,202,143,7,160,252,68,32,52,167,130,4,196,152,57) +IMAGE_DATA(103,67,80,184,194,5,121,115,231,147,238,2,213,72,115,212,23,255,46,41,195,163,182,135,116,221,139,20,251,160,237,65) +IMAGE_DATA(163,128,230,12,233,207,4,67,227,29,10,165,243,106,164,219,204,17,113,249,113,63,104,252,66,209,254,176,21,143,30,117) +IMAGE_DATA(160,131,252,195,123,247,196,152,81,242,157,55,138,92,190,132,230,240,89,100,45,91,137,112,171,89,168,56,230,7,245,161) +IMAGE_DATA(211,40,61,112,18,121,103,125,209,214,210,130,142,246,246,46,36,239,250,26,89,230,214,80,125,184,0,69,230,243,17,63) +IMAGE_DATA(203,22,222,10,75,84,126,115,20,234,125,7,9,7,80,230,181,15,247,43,42,240,176,245,161,64,83,67,3,242,29,156) +IMAGE_DATA(81,62,141,250,81,216,163,134,16,97,101,131,3,22,22,168,34,174,218,115,55,212,59,247,160,182,76,141,218,186,122,220) +IMAGE_DATA(171,111,64,85,69,37,234,104,92,87,85,131,123,206,110,120,160,176,67,147,149,61,130,102,206,130,231,52,115,84,185,123) +IMAGE_DATA(64,189,201,29,37,110,155,145,151,149,3,53,241,99,182,122,34,234,175,142,40,41,45,67,17,161,196,121,29,26,21,11) +IMAGE_DATA(208,76,186,83,51,20,216,254,145,57,106,86,175,69,57,221,207,124,91,39,4,41,108,16,233,254,37,114,205,231,136,181) +IMAGE_DATA(69,45,94,142,224,69,203,160,177,176,69,163,213,167,157,58,133,2,123,230,88,163,196,118,17,212,182,139,113,251,67,123) +IMAGE_DATA(100,190,111,143,172,15,236,104,15,236,81,49,221,30,245,22,11,80,67,104,164,190,30,16,154,173,28,176,107,250,116,113) +IMAGE_DATA(102,190,181,156,142,186,249,182,168,94,101,131,138,181,54,168,89,111,131,122,87,27,52,186,217,160,101,163,53,90,101,108) +IMAGE_DATA(152,131,208,121,138,167,206,232,87,86,10,156,152,173,192,177,217,51,112,204,122,6,142,147,63,105,99,129,83,214,157,56) +IMAGE_DATA(67,227,93,31,77,239,210,252,228,225,56,236,230,234,127,253,77,51,36,209,23,126,111,72,27,57,18,204,149,53,153,67) +IMAGE_DATA(70,160,218,63,12,247,147,111,224,126,66,102,207,160,90,93,88,52,50,141,135,11,109,134,153,25,138,220,60,81,236,241) +IMAGE_DATA(79,20,127,241,143,78,108,222,251,227,216,93,11,30,111,221,71,126,31,82,140,141,145,76,243,23,185,121,65,185,114,171) +IMAGE_DATA(64,193,226,13,196,219,139,66,103,119,122,8,182,64,185,202,67,64,140,169,174,250,155,39,50,140,70,32,69,214,81,173) +IMAGE_DATA(192,233,239,104,206,41,192,127,218,59,196,245,11,156,54,161,227,126,131,128,106,237,118,168,214,237,128,202,117,23,50,13) +IMAGE_DATA(135,35,132,116,197,116,13,229,114,119,20,109,246,194,99,58,212,108,172,109,175,174,237,250,190,201,93,186,9,183,77,166) +IMAGE_DATA(162,120,177,27,162,95,31,134,253,164,43,89,249,5,148,78,174,40,88,228,130,52,58,124,178,86,182,192,153,115,17,67) +IMAGE_DATA(188,108,66,14,225,52,97,19,161,116,161,51,148,243,28,161,252,100,17,10,173,230,161,190,172,148,30,192,199,2,205,13) +IMAGE_DATA(141,184,38,25,161,152,175,79,168,32,252,139,224,64,80,91,125,2,165,197,44,40,45,173,81,169,162,55,99,109,61,106) +IMAGE_DATA(169,39,117,89,57,170,105,92,173,169,68,141,209,4,52,16,183,153,176,131,48,157,80,62,121,42,84,191,159,140,239,39) +IMAGE_DATA(188,135,180,248,36,168,136,127,226,143,22,248,150,106,119,10,85,200,33,228,25,143,71,19,197,45,132,117,4,115,158,219) +IMAGE_DATA(228,183,40,26,62,26,25,52,254,138,240,205,164,247,197,249,224,181,29,146,126,5,79,105,136,24,119,215,205,30,49,28) +IMAGE_DATA(119,200,171,8,87,9,81,4,121,15,184,159,58,109,79,172,105,208,234,44,9,124,102,28,201,87,19,52,111,16,119,12) +IMAGE_DATA(241,198,19,255,45,226,190,45,161,109,162,132,118,25,19,36,236,214,106,228,51,58,141,206,206,42,202,45,39,172,32,172) +IMAGE_DATA(36,172,33,172,213,174,203,149,160,232,166,121,37,190,57,158,215,6,12,24,240,58,57,3,157,180,129,54,175,87,99,108) +IMAGE_DATA(108,60,209,200,200,232,205,110,90,3,142,57,175,79,107,96,96,96,104,106,106,250,222,232,209,163,167,50,151,121,236,57) +IMAGE_DATA(230,60,215,245,205,57,116,232,208,97,99,199,142,157,196,92,154,227,119,236,57,230,124,95,61,18,231,13,226,254,105,220) +IMAGE_DATA(184,113,230,236,57,238,75,35,247,51,102,204,24,214,77,101,175,211,175,94,141,188,182,81,163,70,153,200,107,238,77,75) +IMAGE_DATA(125,191,102,98,98,50,185,123,63,114,191,156,231,122,79,58,218,63,131,17,35,70,140,212,221,3,142,57,207,245,103,232) +IMAGE_DATA(179,127,236,127,225,225,32,27,73,24,172,147,27,172,205,235,213,208,129,57,79,55,224,64,55,237,96,142,57,175,79,107) +IMAGE_DATA(104,104,104,118,228,200,145,86,71,71,199,6,173,118,36,123,142,57,207,117,125,19,58,57,57,157,246,247,247,7,115,205) +IMAGE_DATA(204,204,162,216,115,204,249,190,26,36,142,143,135,135,7,54,110,220,8,246,28,247,165,145,251,113,113,113,233,216,185,115) +IMAGE_DATA(39,216,235,244,171,87,35,175,45,62,62,254,7,121,205,189,105,233,16,155,210,245,107,186,247,35,247,203,121,174,235,153) +IMAGE_DATA(111,152,175,175,111,182,238,30,112,204,121,174,63,67,159,253,99,253,241,112,252,70,146,38,206,148,36,191,165,146,164,89) +IMAGE_DATA(79,175,41,246,28,143,146,164,63,232,211,76,150,36,87,122,197,181,94,114,112,64,241,254,253,168,61,115,70,248,216,207) +IMAGE_DATA(63,199,110,250,249,245,129,36,121,233,106,166,74,210,142,179,211,166,65,181,119,47,106,142,31,71,213,225,195,168,38,176) +IMAGE_DATA(231,88,115,244,40,184,206,60,89,51,84,146,222,166,215,232,99,214,60,238,160,239,134,166,38,148,211,60,154,61,123,132) +IMAGE_DATA(231,152,243,92,103,30,243,89,199,243,7,211,239,222,59,91,182,160,94,165,194,147,39,79,208,222,216,136,82,210,177,231) +IMAGE_DATA(152,243,92,103,158,188,94,59,73,74,73,153,55,15,185,107,214,32,140,80,153,159,47,184,50,56,230,60,215,153,199,124) +IMAGE_DATA(214,45,148,164,236,244,217,179,81,240,217,103,72,39,4,57,59,163,163,173,77,104,216,115,204,121,81,39,30,243,89,55) +IMAGE_DATA(87,146,46,199,76,153,130,252,143,63,70,174,157,29,90,232,155,136,53,45,205,205,157,158,98,206,115,157,121,204,103,221) +IMAGE_DATA(36,73,90,119,220,212,20,57,150,150,104,173,173,21,220,226,140,12,172,55,55,23,158,99,206,115,157,121,204,103,29,189) +IMAGE_DATA(94,135,44,147,164,218,128,119,222,65,83,117,53,138,210,210,224,245,238,187,56,73,96,207,49,231,185,206,60,230,203,247) +IMAGE_DATA(98,156,36,253,197,69,146,58,118,210,79,244,175,199,143,71,56,33,85,235,57,230,60,215,153,167,115,235,7,80,110,198) +IMAGE_DATA(18,73,82,123,13,28,8,111,250,185,228,63,120,176,240,28,243,121,227,58,243,122,58,107,244,42,26,248,150,36,217,252) +IMAGE_DATA(89,146,14,210,133,191,99,207,49,231,159,34,26,73,131,164,215,168,69,67,73,239,175,129,254,178,41,244,170,253,84,95) +IMAGE_DATA(145,254,211,76,161,255,194,63,187,222,47,54,136,182,203,80,187,93,47,209,166,116,67,143,198,27,43,227,197,45,75,199) +IMAGE_DATA(6,209,223,203,55,5,125,172,108,216,216,233,245,25,215,19,19,59,253,243,92,167,127,237,191,141,183,4,125,0,0,0) IMAGE_END_DATA(2368, 13) diff --git a/uppsrc/ide/EditorTabBar.cpp b/uppsrc/ide/EditorTabBar.cpp index 0fa2193d8..2197b2f67 100644 --- a/uppsrc/ide/EditorTabBar.cpp +++ b/uppsrc/ide/EditorTabBar.cpp @@ -30,7 +30,7 @@ void EditorTabBar::SetAddFile(const String& fn) return; if(FindSetFile(fn)) return; - AddFile(WString(fn), true); + AddFile(WString(fn), IdeFileImage(fn, false, false, false), true); } void EditorTabBar::RenameFile(const String& fn, const String& nn) diff --git a/uppsrc/ide/icon.ico b/uppsrc/ide/icon.ico index 0602f9c90..4cff95025 100644 Binary files a/uppsrc/ide/icon.ico and b/uppsrc/ide/icon.ico differ diff --git a/uppsrc/ide/ide.lay b/uppsrc/ide/ide.lay index 5fcb3e19c..7d735d463 100644 --- a/uppsrc/ide/ide.lay +++ b/uppsrc/ide/ide.lay @@ -565,10 +565,10 @@ LAYOUT(SetupEditorLayout, 544, 296) ITEM(DropList, filetabs, LeftPosZ(372, 64).TopPosZ(4, 19)) ITEM(Label, dv___24, SetLabel(t_("Crosses")).LeftPosZ(304, 64).TopPosZ(24, 19)) ITEM(DropList, tabs_crosses, LeftPosZ(372, 64).TopPosZ(24, 19)) - ITEM(Option, tabs_icons, SetLabel(t_("Icons")).LeftPosZ(304, 132).TopPosZ(48, 16)) - ITEM(Option, tabs_grouping, SetLabel(t_("Grouping")).LeftPosZ(304, 132).TopPosZ(68, 16)) - ITEM(Option, tabs_stacking, SetLabel(t_("Stacking")).LeftPosZ(304, 132).TopPosZ(88, 16)) - ITEM(Option, tabs_serialize, SetLabel(t_("Persistent tabs")).LeftPosZ(304, 132).TopPosZ(108, 16)) + ITEM(Option, tabs_icons, SetLabel(t_("Icons")).LeftPosZ(304, 132).VCenterPosZ(16, -96)) + ITEM(Option, tabs_grouping, SetLabel(t_("Group by file folders")).LeftPosZ(304, 132).VCenterPosZ(16, -80)) + ITEM(Option, tabs_stacking, SetLabel(t_("Stacking")).LeftPosZ(304, 132).VCenterPosZ(16, -64)) + ITEM(Option, tabs_serialize, SetLabel(t_("Persistent tabs")).LeftPosZ(304, 132).VCenterPosZ(16, -48)) END_LAYOUT LAYOUT(SetupAssistLayout, 532, 136)