Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/windirstat.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbseifert <none@none>2004-01-21 01:17:41 +0300
committerbseifert <none@none>2004-01-21 01:17:41 +0300
commitdf0f96c7af8493ad6ee49796342aa300923065d6 (patch)
tree3fd8c0c2124d94715be8228fe0ce8daa02d8269c
parent2f0ee94f846241baa0cf800f76bd666da2833c85 (diff)
Full row selection.
-rw-r--r--CHANGELOG.txt6
-rw-r--r--README.txt2
-rw-r--r--common/version.h6
-rw-r--r--wdsr0407/resource.h1
-rw-r--r--wdsr0407/windirstat.rc16
-rw-r--r--wdsr040c/resource.h1
-rw-r--r--wdsr040c/windirstat.rc12
-rw-r--r--windirstat/PageGeneral.cpp9
-rw-r--r--windirstat/PageGeneral.h2
-rw-r--r--windirstat/SelectDrivesDlg.cpp9
-rw-r--r--windirstat/SelectDrivesDlg.h2
-rw-r--r--windirstat/TreeListControl.cpp4
-rw-r--r--windirstat/TreeListControl.h2
-rw-r--r--windirstat/aboutdlg.cpp4
-rw-r--r--windirstat/dirstatview.cpp2
-rw-r--r--windirstat/item.cpp14
-rw-r--r--windirstat/item.h2
-rw-r--r--windirstat/options.cpp19
-rw-r--r--windirstat/options.h4
-rw-r--r--windirstat/ownerdrawnlistcontrol.cpp163
-rw-r--r--windirstat/ownerdrawnlistcontrol.h28
-rw-r--r--windirstat/resource.h2
-rw-r--r--windirstat/typeview.cpp12
-rw-r--r--windirstat/typeview.h2
-rw-r--r--windirstat/windirstat.rc19
25 files changed, 270 insertions, 73 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 338f499..dfe0ff9 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,7 +1,11 @@
changelog.txt - What has been done to WinDirStat (newest top)
=============================================================
-2003-01-11 bseifert
+2004-01-20 bseifert
+ * Temporarily removed French translation from setup and Aboutbox for release 1.0.2.
+ * New option: Full row selection (default).
+
+2004-01-11 bseifert
* Completed French translation.
* Added rc2-files.
diff --git a/README.txt b/README.txt
index 0ff354b..73626b7 100644
--- a/README.txt
+++ b/README.txt
@@ -1,6 +1,6 @@
=============================================================================
WinDirStat - Windows Directory Statistics
-(c) 2003 Bernhard Seifert (bseifert@users.sourceforge.net)
+(c) 2003-2004 Bernhard Seifert (bseifert@users.sourceforge.net)
=============================================================================
This project, made up of
diff --git a/common/version.h b/common/version.h
index 7fe3ebc..4d131a8 100644
--- a/common/version.h
+++ b/common/version.h
@@ -28,8 +28,8 @@
//
//#define BC_DEVEL // Development version. The usual setting. File version is 0.0.0.buildno.
-#define BC_RELEASECANDIDATE // Release candidate. Version number is relevant but not yet official. About-box shows x.y.zrcn. File version is x.y.z.buildno.
-//#define BC_RELEASE // Set this only during official builds. About-box shows x.y.z. File version is x.y.z.buildno
+//#define BC_RELEASECANDIDATE // Release candidate. Version number is relevant but not yet official. About-box shows x.y.zrcn. File version is x.y.z.buildno.
+#define BC_RELEASE // Set this only during official builds. About-box shows x.y.z. File version is x.y.z.buildno
//-------------------------------------------------------------------
@@ -41,7 +41,7 @@
// The following line is automatically incremented by linkcounter.exe.
// Format: #define blank LINKCOUNT blanks decimal
// Reset this to zero only when you increment VERNUM_MAJOR/MINOR/REVISION.
-#define LINKCOUNT 74
+#define LINKCOUNT 116
//-------------------------------------------------------------------
// Release candidate number. Relevant for BC_RELEASECANDIDATE.
diff --git a/wdsr0407/resource.h b/wdsr0407/resource.h
index 4dc7f0e..4674ac3 100644
--- a/wdsr0407/resource.h
+++ b/wdsr0407/resource.h
@@ -131,6 +131,7 @@
#define IDC_TREEMAPGRIDCOLOR 1030
#define IDC_SHOWGRID2 1030
#define IDC_SHOWSTRIPES 1030
+#define IDC_FULLROWSELECTION 1031
#define IDC_RESET 1034
#define IDC_LIST 1036
#define IDC_TITLE 1037
diff --git a/wdsr0407/windirstat.rc b/wdsr0407/windirstat.rc
index b53b100..4a9c3a1 100644
--- a/wdsr0407/windirstat.rc
+++ b/wdsr0407/windirstat.rc
@@ -37,7 +37,7 @@ END
BEGIN
"#include ""afxres.h""\r\n"
"#include ""../common/version.h""\r\n"
- "\0"
+ "\0"
END
3 TEXTINCLUDE
@@ -447,13 +447,15 @@ BEGIN
CONTROL "&Größen im GB/MB/KB/Bytes-Format anzeigen",
IDC_HUMANFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,32,
33,207,10
- GROUPBOX "&Listenstil",IDC_STATIC,30,52,77,45
+ GROUPBOX "&Listenstil",IDC_STATIC,30,52,99,65
+ CONTROL "Ganze &Zeile markieren",IDC_FULLROWSELECTION,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,38,67,88,10
CONTROL "&Raster",IDC_SHOWGRID,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,38,65,58,10
+ WS_TABSTOP,38,84,58,10
CONTROL "S&treifen",IDC_SHOWSTRIPES,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,38,81,58,10
- LTEXT "&Sprache",IDC_STATIC,32,112,166,8
- COMBOBOX IDC_COMBO,32,125,156,140,CBS_DROPDOWNLIST | CBS_SORT |
+ WS_TABSTOP,38,101,58,10
+ LTEXT "&Sprache",IDC_STATIC,32,132,166,8
+ COMBOBOX IDC_COMBO,32,145,156,140,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
END
@@ -739,7 +741,7 @@ END
STRINGTABLE
BEGIN
IDS_RESOURCEVERSION "Resource Version 3"
- IDS_ABOUT_ABOUTTEXTss "\r\nWinDirStat - Verzeichnisstatistik\r\n\r\nZeigt an, wo all der Plattenplatz geblieben ist,\r\nund hilft aufzuräumen.\r\n\r\nNeu programmiert für MS Windows von\r\nBernhard Seifert (mailto:%1!s!),\r\n\r\nauf Grundlage von Stefan Hundhammers KDE (Linux)-Programm KDirStat\r\n(http://kdirstat.sourceforge.net/).\r\n\r\nWinDirStats Homepage ist http://%2!s!/\r\n\r\nFranzösische Übersetzung: Pascal Delrot (mailto:tigroo@users.sourceforge.net).\r\n\r\nCopyright (c) 2003-2004 Bernhard Seifert"
+ IDS_ABOUT_ABOUTTEXTss "\r\nWinDirStat - Verzeichnisstatistik\r\n\r\nZeigt an, wo all der Plattenplatz geblieben ist,\r\nund hilft aufzuräumen.\r\n\r\nNeu programmiert für MS Windows von\r\nBernhard Seifert (mailto:%1!s!),\r\n\r\nauf Grundlage von Stefan Hundhammers KDE (Linux)-Programm KDirStat\r\n(http://kdirstat.sourceforge.net/).\r\n\r\nWinDirStats Homepage ist http://%2!s!/\r\n\r\nCopyright (c) 2003-2004 Bernhard Seifert"
IDS_ABOUT_THANKSTOTEXT "\r\nStefan Hundhammer für sein vorzügliches Linux-Tool KDirStat.\r\nKDirStat (2.3.7) als Vorlage zu nehmen hat mir eine Menge Zeit gespart.\r\nhttp://kdirstat.sourceforge.net/\r\n\r\nDen Autoren von SequoiaView, die gezeigt haben, wie nützlich Baumkarten sein können.\r\nhttp://www.win.tue.nl/sequoiaview/\r\n\r\nJarke J. van Wijk, Huub van de Wetering, Mark Bruls und Kees Huizing\r\nfür ihre Dokumente über ""Cushion Treemaps"" und ""Squarified Treemaps"".\r\nhttp://www.win.tue.nl/~vanwijk/\r\n\r\nBen Shneiderman für seine geniale Erfindung von Treemaps -\r\neiner wirklich intuitiven Art und Weise, Bäume zu visualisieren.\r\nhttp://www.cs.umd.edu/hcil/treemap-history/\r\n\r\nMeinen Kollegen für ihr Feedback zu den frühen Versionen von WinDirStat.\r\nhttp://www.daccord.net/\r\n\r\nBeatrix Lödige und Nick Lines fürs Betatesten.\r\n"
IDS_ABOUT_ABOUT "Über WinDirStat"
IDS_ABOUT_THANKSTO "Dank"
diff --git a/wdsr040c/resource.h b/wdsr040c/resource.h
index 4dc7f0e..4674ac3 100644
--- a/wdsr040c/resource.h
+++ b/wdsr040c/resource.h
@@ -131,6 +131,7 @@
#define IDC_TREEMAPGRIDCOLOR 1030
#define IDC_SHOWGRID2 1030
#define IDC_SHOWSTRIPES 1030
+#define IDC_FULLROWSELECTION 1031
#define IDC_RESET 1034
#define IDC_LIST 1036
#define IDC_TITLE 1037
diff --git a/wdsr040c/windirstat.rc b/wdsr040c/windirstat.rc
index 356d295..319b219 100644
--- a/wdsr040c/windirstat.rc
+++ b/wdsr040c/windirstat.rc
@@ -464,13 +464,15 @@ BEGIN
CONTROL "&Montrer la taille des fichiers en Go/Mo/Ko/octets",
IDC_HUMANFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,32,
32,229,10
- GROUPBOX "Style de la &liste",IDC_STATIC,30,52,90,45
+ GROUPBOX "Style de la &liste",IDC_STATIC,30,52,90,65
+ CONTROL "&Full Row Selection",IDC_FULLROWSELECTION,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,38,67,76,10
CONTROL "&Montrer la grille",IDC_SHOWGRID,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,38,65,68,10
+ BS_AUTOCHECKBOX | WS_TABSTOP,38,84,68,10
CONTROL "Faire des &rayures",IDC_SHOWSTRIPES,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,38,81,68,10
- LTEXT "&Langue",IDC_STATIC,32,109,166,8
- COMBOBOX IDC_COMBO,32,122,156,140,CBS_DROPDOWNLIST | CBS_SORT |
+ BS_AUTOCHECKBOX | WS_TABSTOP,38,101,68,10
+ LTEXT "&Langue",IDC_STATIC,32,129,166,8
+ COMBOBOX IDC_COMBO,32,142,156,140,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
END
diff --git a/windirstat/PageGeneral.cpp b/windirstat/PageGeneral.cpp
index cc15141..126081c 100644
--- a/windirstat/PageGeneral.cpp
+++ b/windirstat/PageGeneral.cpp
@@ -55,6 +55,7 @@ void CPageGeneral::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_FOLLOWMOUNTPOINTS, m_ctlFollowMountPoints);
DDX_Check(pDX, IDC_SHOWGRID, m_listGrid);
DDX_Check(pDX, IDC_SHOWSTRIPES, m_listStripes);
+ DDX_Check(pDX, IDC_FULLROWSELECTION, m_listFullRowSelection);
}
@@ -64,6 +65,7 @@ BEGIN_MESSAGE_MAP(CPageGeneral, CPropertyPage)
ON_CBN_SELENDOK(IDC_COMBO, OnCbnSelendokCombo)
ON_BN_CLICKED(IDC_SHOWGRID, OnBnClickedListGrid)
ON_BN_CLICKED(IDC_SHOWSTRIPES, OnBnClickedListStripes)
+ ON_BN_CLICKED(IDC_FULLROWSELECTION, OnBnClickedListFullRowSelection)
END_MESSAGE_MAP()
@@ -74,6 +76,7 @@ BOOL CPageGeneral::OnInitDialog()
m_humanFormat= GetOptions()->IsHumanFormat();
m_listGrid= GetOptions()->IsListGrid();
m_listStripes= GetOptions()->IsListStripes();
+ m_listFullRowSelection= GetOptions()->IsListFullRowSelection();
m_followMountPoints= GetOptions()->IsFollowMountPoints();
CVolumeApi va;
@@ -117,6 +120,7 @@ void CPageGeneral::OnOK()
GetOptions()->SetFollowMountPoints(m_followMountPoints);
GetOptions()->SetListGrid(m_listGrid);
GetOptions()->SetListStripes(m_listStripes);
+ GetOptions()->SetListFullRowSelection(m_listFullRowSelection);
LANGID id= (LANGID)m_combo.GetItemData(m_combo.GetCurSel());
CLanguageOptions::SetLanguage(id);
@@ -144,6 +148,11 @@ void CPageGeneral::OnBnClickedListStripes()
SetModified();
}
+void CPageGeneral::OnBnClickedListFullRowSelection()
+{
+ SetModified();
+}
+
void CPageGeneral::OnCbnSelendokCombo()
{
int i= m_combo.GetCurSel();
diff --git a/windirstat/PageGeneral.h b/windirstat/PageGeneral.h
index 5aaae88..0e892da 100644
--- a/windirstat/PageGeneral.h
+++ b/windirstat/PageGeneral.h
@@ -46,6 +46,7 @@ protected:
BOOL m_humanFormat;
BOOL m_listGrid;
BOOL m_listStripes;
+ BOOL m_listFullRowSelection;
CComboBox m_combo;
CButton m_ctlFollowMountPoints;
@@ -58,4 +59,5 @@ protected:
afx_msg void OnCbnSelendokCombo();
afx_msg void OnBnClickedListGrid();
afx_msg void OnBnClickedListStripes();
+ afx_msg void OnBnClickedListFullRowSelection();
};
diff --git a/windirstat/SelectDrivesDlg.cpp b/windirstat/SelectDrivesDlg.cpp
index 46c72a0..f88799e 100644
--- a/windirstat/SelectDrivesDlg.cpp
+++ b/windirstat/SelectDrivesDlg.cpp
@@ -170,11 +170,11 @@ int CDriveItem::GetImage() const
return GetMyImageList()->GetFileImage(m_path);
}
-bool CDriveItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const
+bool CDriveItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const
{
if (subitem == COL_NAME)
{
- DrawLabel(m_list, GetMyImageList(), pdc, rc, state, width);
+ DrawLabel(m_list, GetMyImageList(), pdc, rc, state, width, focusLeft);
return true;
}
else if (subitem == COL_GRAPH)
@@ -191,7 +191,9 @@ bool CDriveItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *w
return true;
}
- rc.DeflateRect(3, 3);
+ DrawSelection(m_list, pdc, rc, state);
+
+ rc.DeflateRect(3, 5);
DrawPercentage(pdc, rc, m_used, RGB(0,0,170));
@@ -535,6 +537,7 @@ BOOL CSelectDrivesDlg::OnInitDialog()
m_list.ShowGrid(GetOptions()->IsListGrid());
m_list.ShowStripes(GetOptions()->IsListStripes());
+ m_list.ShowFullRowSelection(GetOptions()->IsListFullRowSelection());
m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_HEADERDRAGDROP);
// If we set an ImageList here, OnMeasureItem will have no effect ?!
diff --git a/windirstat/SelectDrivesDlg.h b/windirstat/SelectDrivesDlg.h
index a21e001..57ce74e 100644
--- a/windirstat/SelectDrivesDlg.h
+++ b/windirstat/SelectDrivesDlg.h
@@ -55,7 +55,7 @@ public:
CString GetDrive() const;
bool IsRemote() const;
bool IsSUBSTed() const;
- virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const;
+ virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const;
virtual CString GetText(int subitem) const;
int GetImage() const;
diff --git a/windirstat/TreeListControl.cpp b/windirstat/TreeListControl.cpp
index 1191027..7913d5c 100644
--- a/windirstat/TreeListControl.cpp
+++ b/windirstat/TreeListControl.cpp
@@ -61,7 +61,7 @@ CTreeListItem::~CTreeListItem()
delete m_vi;
}
-bool CTreeListItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const
+bool CTreeListItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const
{
if (subitem != 0)
return false;
@@ -72,7 +72,7 @@ bool CTreeListItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int
CRect rcLabel= rc;
rcLabel.left= rcNode.right;
- DrawLabel(GetTreeListControl(), GetMyImageList(), pdc, rcLabel, state, width, false);
+ DrawLabel(GetTreeListControl(), GetMyImageList(), pdc, rcLabel, state, width, focusLeft, false);
if (width != NULL)
{
diff --git a/windirstat/TreeListControl.h b/windirstat/TreeListControl.h
index 6029d76..e770a6a 100644
--- a/windirstat/TreeListControl.h
+++ b/windirstat/TreeListControl.h
@@ -60,7 +60,7 @@ public:
virtual int CompareSibling(const CTreeListItem *tlib, int subitem) const =0;
- virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const;
+ virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const;
virtual CString GetText(int subitem) const;
virtual int GetImage() const;
virtual int Compare(const CSortingListItem *other, int subitem) const;
diff --git a/windirstat/aboutdlg.cpp b/windirstat/aboutdlg.cpp
index 44e38da..d1cbd12 100644
--- a/windirstat/aboutdlg.cpp
+++ b/windirstat/aboutdlg.cpp
@@ -212,8 +212,10 @@ CAboutDlg::CAboutDlg()
CString CAboutDlg::GetAppVersion()
{
+ USES_CONVERSION;
+
CString s;
- s.Format(_T("WinDirStat %s"), _T(VN_STRING));
+ s.Format(_T("WinDirStat %s"), A2T(VN_STRING));
return s;
}
diff --git a/windirstat/dirstatview.cpp b/windirstat/dirstatview.cpp
index e264268..fadc4ba 100644
--- a/windirstat/dirstatview.cpp
+++ b/windirstat/dirstatview.cpp
@@ -236,6 +236,7 @@ int CDirstatView::OnCreate(LPCREATESTRUCT lpCreateStruct)
m_treeListControl.ShowGrid(GetOptions()->IsListGrid());
m_treeListControl.ShowStripes(GetOptions()->IsListStripes());
+ m_treeListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection());
m_treeListControl.InsertColumn(COL_NAME, LoadString(IDS_TREECOL_NAME), LVCFMT_LEFT, 200, COL_NAME);
m_treeListControl.InsertColumn(COL_SUBTREEPERCENTAGE, LoadString(IDS_TREECOL_SUBTREEPERCENTAGE), LVCFMT_RIGHT, CItem::GetSubtreePercentageWidth(), COL_SUBTREEPERCENTAGE);
@@ -325,6 +326,7 @@ void CDirstatView::OnUpdate(CView *pSender, LPARAM lHint, CObject *pHint)
case HINT_LISTSTYLECHANGED:
m_treeListControl.ShowGrid(GetOptions()->IsListGrid());
m_treeListControl.ShowStripes(GetOptions()->IsListStripes());
+ m_treeListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection());
break;
case HINT_SOMEWORKDONE:
diff --git a/windirstat/item.cpp b/windirstat/item.cpp
index f036027..3a5bd67 100644
--- a/windirstat/item.cpp
+++ b/windirstat/item.cpp
@@ -34,7 +34,7 @@ namespace
CString GetFreeSpaceItemName() { return LoadString(IDS_FREESPACE_ITEM); }
CString GetUnknownItemName() { return LoadString(IDS_UNKNOWN_ITEM); }
- const SIZE sizeDeflatePacman = { 0, 2 };
+ const SIZE sizeDeflatePacman = { 1, 2 };
}
@@ -72,11 +72,11 @@ CItem::~CItem()
delete m_children[i];
}
-bool CItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const
+bool CItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const
{
if (subitem == COL_NAME)
{
- return CTreeListItem::DrawSubitem(subitem, pdc, rc, state, width);
+ return CTreeListItem::DrawSubitem(subitem, pdc, rc, state, width, focusLeft);
}
if (subitem != COL_SUBTREEPERCENTAGE)
return false;
@@ -95,14 +95,16 @@ bool CItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width)
return true;
}
+ DrawSelection(GetTreeListControl(), pdc, rc, state);
+
if (showReadJobs)
{
rc.DeflateRect(sizeDeflatePacman);
- DrawPacman(pdc, rc, GetTreeListControl()->GetItemBackgroundColor(this));
+ DrawPacman(pdc, rc, GetTreeListControl()->GetItemSelectionBackgroundColor(this));
}
else
{
- rc.DeflateRect(2, 3);
+ rc.DeflateRect(2, 5);
for (int i=0; i < GetIndent(); i++)
rc.left+= rc.Width() / 10;
@@ -1485,6 +1487,6 @@ void CItem::DrivePacman()
CClientDC dc(GetTreeListControl());
CRect rc= GetTreeListControl()->GetWholeSubitemRect(i, COL_SUBTREEPERCENTAGE);
rc.DeflateRect(sizeDeflatePacman);
- DrawPacman(&dc, rc, GetTreeListControl()->GetItemBackgroundColor(i));
+ DrawPacman(&dc, rc, GetTreeListControl()->GetItemSelectionBackgroundColor(i));
}
diff --git a/windirstat/item.h b/windirstat/item.h
index 7603a08..a8946c4 100644
--- a/windirstat/item.h
+++ b/windirstat/item.h
@@ -107,7 +107,7 @@ public:
~CItem();
// CTreeListItem Interface
- virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const;
+ virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const;
virtual CString GetText(int subitem) const;
virtual int CompareSibling(const CTreeListItem *tlib, int subitem) const;
virtual int GetChildrenCount() const;
diff --git a/windirstat/options.cpp b/windirstat/options.cpp
index c1caf85..12e13b4 100644
--- a/windirstat/options.cpp
+++ b/windirstat/options.cpp
@@ -60,6 +60,7 @@ namespace
const LPCTSTR sectionOptions = _T("options");
const LPCTSTR entryListGrid = _T("treelistGrid"); // for compatibility with 1.0.1, this entry is named treelistGrid.
const LPCTSTR entryListStripes = _T("listStripes");
+ const LPCTSTR entryListFullRowSelection = _T("listFullRowSelection");
const LPCTSTR entryTreelistColorCount = _T("treelistColorCount");
const LPCTSTR entryTreelistColorN = _T("treelistColor%d");
const LPCTSTR entryHumanFormat = _T("humanFormat");
@@ -568,6 +569,20 @@ void COptions::SetListStripes(bool show)
}
}
+bool COptions::IsListFullRowSelection()
+{
+ return m_listFullRowSelection;
+}
+
+void COptions::SetListFullRowSelection(bool show)
+{
+ if (m_listFullRowSelection != show)
+ {
+ m_listFullRowSelection= show;
+ GetDocument()->UpdateAllViews(NULL, HINT_LISTSTYLECHANGED);
+ }
+}
+
void COptions::GetTreelistColors(COLORREF color[TREELISTCOLORCOUNT])
{
for (int i=0; i < TREELISTCOLORCOUNT; i++)
@@ -783,6 +798,7 @@ void COptions::SaveToRegistry()
{
SetProfileBool(sectionOptions, entryListGrid, m_listGrid);
SetProfileBool(sectionOptions, entryListStripes, m_listStripes);
+ SetProfileBool(sectionOptions, entryListFullRowSelection, m_listFullRowSelection);
SetProfileInt(sectionOptions, entryTreelistColorCount, m_treelistColorCount);
for (int i=0; i < TREELISTCOLORCOUNT; i++)
@@ -836,6 +852,7 @@ void COptions::LoadFromRegistry()
{
m_listGrid= GetProfileBool(sectionOptions, entryListGrid, false);
m_listStripes= GetProfileBool(sectionOptions, entryListStripes, false);
+ m_listFullRowSelection= GetProfileBool(sectionOptions, entryListFullRowSelection, true);
m_treelistColorCount= GetProfileInt(sectionOptions, entryTreelistColorCount, 4);
CheckRange(m_treelistColorCount, 1, TREELISTCOLORCOUNT);
@@ -848,7 +865,7 @@ void COptions::LoadFromRegistry()
m_humanFormat= GetProfileBool(sectionOptions, entryHumanFormat, true);
m_pacmanAnimation= GetProfileBool(sectionOptions, entryPacmanAnimation, true);
m_showTimeSpent= GetProfileBool(sectionOptions, entryShowTimeSpent, false);
- m_treemapHighlightColor= GetProfileInt(sectionOptions, entryTreemapHighlightColor, RGB(0,255,255));
+ m_treemapHighlightColor= GetProfileInt(sectionOptions, entryTreemapHighlightColor, RGB(255,255,255));
ReadTreemapOptions();
diff --git a/windirstat/options.h b/windirstat/options.h
index 5278995..eb25849 100644
--- a/windirstat/options.h
+++ b/windirstat/options.h
@@ -196,6 +196,9 @@ public:
bool IsListStripes();
void SetListStripes(bool show);
+ bool IsListFullRowSelection();
+ void SetListFullRowSelection(bool show);
+
void GetTreelistColors(COLORREF color[TREELISTCOLORCOUNT]);
void SetTreelistColors(const COLORREF color[TREELISTCOLORCOUNT]);
COLORREF GetTreelistColor(int i);
@@ -249,6 +252,7 @@ private:
bool m_listGrid;
bool m_listStripes;
+ bool m_listFullRowSelection;
COLORREF m_treelistColor[TREELISTCOLORCOUNT];
int m_treelistColorCount;
bool m_humanFormat;
diff --git a/windirstat/ownerdrawnlistcontrol.cpp b/windirstat/ownerdrawnlistcontrol.cpp
index 485a42f..354af35 100644
--- a/windirstat/ownerdrawnlistcontrol.cpp
+++ b/windirstat/ownerdrawnlistcontrol.cpp
@@ -32,8 +32,8 @@ namespace
{
const int TEXT_X_MARGIN = 6; // Horizontal distance of the text from the edge of the item rectangle
- const UINT LABEL_INFLATE_CX = 3;// How much the label is enlarged, to get the selection and
- const UINT LABEL_INFLATE_CY = 2;// focus rectangle
+ const UINT LABEL_INFLATE_CX = 3;// How much the label is enlarged, to get the selection and focus rectangle
+ const UINT LABEL_Y_MARGIN = 2;
const UINT GENERAL_INDENT = 5;
}
@@ -48,10 +48,8 @@ COwnerDrawnListItem::~COwnerDrawnListItem()
{
}
-void COwnerDrawnListItem::DrawLabel(COwnerDrawnListControl *list, CImageList *il, CDC *pdc, CRect& rc, UINT state, int *width, bool indent) const
+void COwnerDrawnListItem::DrawLabel(COwnerDrawnListControl *list, CImageList *il, CDC *pdc, CRect& rc, UINT state, int *width, int *focusLeft, bool indent) const
{
- bool haveFocus = (GetFocus() == list->m_hWnd);
-
CRect rcRest= rc;
if (indent)
rcRest.left+= GENERAL_INDENT;
@@ -77,28 +75,31 @@ void COwnerDrawnListItem::DrawLabel(COwnerDrawnListControl *list, CImageList *il
CRect rcLabel= rcRest;
pdc->DrawText(GetText(0), rcLabel, DT_SINGLELINE | DT_VCENTER | DT_WORD_ELLIPSIS | DT_CALCRECT);
- rcLabel.top= rcRest.top + (rcRest.bottom - rcLabel.bottom);
- rcLabel.InflateRect(LABEL_INFLATE_CX, LABEL_INFLATE_CY);
+
+ rcLabel.InflateRect(LABEL_INFLATE_CX, 0);
+ rcLabel.top= rcRest.top + LABEL_Y_MARGIN;
+ rcLabel.bottom= rcRest.bottom - LABEL_Y_MARGIN;
CSetBkMode bk(pdc, TRANSPARENT);
COLORREF textColor= GetSysColor(COLOR_WINDOWTEXT);
- if (width == NULL && (state & ODS_SELECTED) != 0 && (haveFocus || (list->GetStyle() & LVS_SHOWSELALWAYS) != 0))
+ if (width == NULL && (state & ODS_SELECTED) != 0 && (list->HasFocus() || list->IsShowSelectionAlways()))
{
- static const COLORREF nonFocusBgColor = RGB(120, 120, 120); // RGB(190,190,190): this would be Windows conforming, but has too little contrast.
- static const COLORREF nonFocusTextColor = RGB(255,255,255); // RGB(0,0,0)
- COLORREF bgColor= (haveFocus ? GetSysColor(COLOR_HIGHLIGHT) : nonFocusBgColor);
- pdc->FillSolidRect(rcLabel, bgColor);
- textColor= (haveFocus ? GetSysColor(COLOR_HIGHLIGHTTEXT) : nonFocusTextColor);
+ textColor= list->GetHighlightTextColor();
+
+ CRect selection= rcLabel;
+ if (list->IsFullRowSelection())
+ selection.right= rc.right;
+ pdc->FillSolidRect(selection, list->GetHighlightColor());
}
CSetTextColor stc(pdc, textColor);
if (width == NULL)
pdc->DrawText(GetText(0), rcRest, DT_SINGLELINE | DT_VCENTER | DT_WORD_ELLIPSIS);
- else
- pdc->DrawText(GetText(0), rcRest, DT_SINGLELINE | DT_VCENTER | DT_CALCRECT);
rcLabel.InflateRect(1, 1);
+
+ *focusLeft= rcLabel.left;
- if ((state & ODS_FOCUS) != 0 && haveFocus && width == NULL)
+ if ((state & ODS_FOCUS) != 0 && list->HasFocus() && width == NULL && !list->IsFullRowSelection())
pdc->DrawFocusRect(rcLabel);
if (width == NULL)
@@ -111,6 +112,19 @@ void COwnerDrawnListItem::DrawLabel(COwnerDrawnListControl *list, CImageList *il
*width= rcLabel.Width() + 5; // Don't know, why +5
}
+void COwnerDrawnListItem::DrawSelection(COwnerDrawnListControl *list, CDC *pdc, CRect rc, UINT state) const
+{
+ if (!list->IsFullRowSelection())
+ return;
+ if (!list->HasFocus() && !list->IsShowSelectionAlways())
+ return;
+ if ((state & ODS_SELECTED) == 0)
+ return;
+
+ rc.DeflateRect(0, LABEL_Y_MARGIN);
+ pdc->FillSolidRect(rc, list->GetHighlightColor());
+}
+
void COwnerDrawnListItem::DrawPercentage(CDC *pdc, CRect rc, double fraction, COLORREF color) const
{
const int LIGHT = 198; // light edge
@@ -151,6 +165,7 @@ COwnerDrawnListControl::COwnerDrawnListControl(LPCTSTR name, int rowHeight)
m_rowHeight= rowHeight;
m_showGrid= false;
m_showStripes= false;
+ m_showFullRowSelection= false;
InitializeColors();
}
@@ -208,16 +223,58 @@ void COwnerDrawnListControl::ShowStripes(bool show)
InvalidateRect(NULL);
}
+void COwnerDrawnListControl::ShowFullRowSelection(bool show)
+{
+ m_showFullRowSelection= show;
+ if (IsWindow(m_hWnd))
+ InvalidateRect(NULL);
+}
+
+bool COwnerDrawnListControl::IsFullRowSelection()
+{
+ return m_showFullRowSelection;
+}
+
+// Normal window background color
COLORREF COwnerDrawnListControl::GetWindowColor()
{
return m_windowColor;
}
+// Shaded window background color (for stripes)
COLORREF COwnerDrawnListControl::GetStripeColor()
{
return m_stripeColor;
}
+// Highlight color if we have no focus
+COLORREF COwnerDrawnListControl::GetNonFocusHighlightColor()
+{
+ return RGB(190,190,190); //RGB(120, 120, 120): more contrast
+}
+
+// Highlight text color if we have no focus
+COLORREF COwnerDrawnListControl::GetNonFocusHighlightTextColor()
+{
+ return RGB(0,0,0); // RGB(255,255,255): more contrast
+}
+
+COLORREF COwnerDrawnListControl::GetHighlightColor()
+{
+ if (HasFocus())
+ return GetSysColor(COLOR_HIGHLIGHT);
+ else
+ return GetNonFocusHighlightColor();
+}
+
+COLORREF COwnerDrawnListControl::GetHighlightTextColor()
+{
+ if (HasFocus())
+ return GetSysColor(COLOR_HIGHLIGHTTEXT);
+ else
+ return GetNonFocusHighlightTextColor();
+}
+
bool COwnerDrawnListControl::IsItemStripeColor(int i)
{
return (m_showStripes && (i % 2 != 0));
@@ -238,6 +295,29 @@ COLORREF COwnerDrawnListControl::GetItemBackgroundColor(const COwnerDrawnListIte
return GetItemBackgroundColor(FindListItem(item));
}
+COLORREF COwnerDrawnListControl::GetItemSelectionBackgroundColor(int i)
+{
+ bool selected = (GetItemState(i, LVIS_SELECTED) & LVIS_SELECTED) != 0;
+ if (selected && IsFullRowSelection() && (HasFocus() || IsShowSelectionAlways()))
+ return GetHighlightColor();
+ else
+ return GetItemBackgroundColor(i);
+}
+
+COLORREF COwnerDrawnListControl::GetItemSelectionBackgroundColor(const COwnerDrawnListItem *item)
+{
+ return GetItemSelectionBackgroundColor(FindListItem(item));
+}
+
+COLORREF COwnerDrawnListControl::GetItemSelectionTextColor(int i)
+{
+ bool selected = (GetItemState(i, LVIS_SELECTED) & LVIS_SELECTED) != 0;
+ if (selected && IsFullRowSelection() && (HasFocus() || IsShowSelectionAlways()))
+ return GetHighlightTextColor();
+ else
+ return GetSysColor(COLOR_WINDOWTEXT);
+}
+
int COwnerDrawnListControl::GetTextXMargin()
{
return TEXT_X_MARGIN;
@@ -312,27 +392,53 @@ void COwnerDrawnListControl::DrawItem(LPDRAWITEMSTRUCT pdis)
dcmem.FillSolidRect(rcItem - rcItem.TopLeft(), GetItemBackgroundColor(pdis->itemID));
- for (int i=0; i < GetHeaderCtrl()->GetItemCount(); i++)
+ bool drawFocus = (pdis->itemState & ODS_FOCUS) != 0 && HasFocus() && IsFullRowSelection();
+
+ CArray<int, int> order;
+ order.SetSize(GetHeaderCtrl()->GetItemCount());
+ GetHeaderCtrl()->GetOrderArray(order.GetData(), order.GetSize());
+
+ CRect rcFocus= rcItem;
+ rcFocus.DeflateRect(0, LABEL_Y_MARGIN - 1);
+
+ for (int i=0; i < order.GetSize(); i++)
{
- CRect rc= GetWholeSubitemRect(pdis->itemID, i);
+ int subitem = order[i];
+
+ CRect rc= GetWholeSubitemRect(pdis->itemID, subitem);
CRect rcDraw= rc - rcItem.TopLeft();
- if (!item->DrawSubitem(i, &dcmem, rcDraw, pdis->itemState, NULL))
+ int focusLeft= rcDraw.left;
+ if (!item->DrawSubitem(subitem, &dcmem, rcDraw, pdis->itemState, NULL, &focusLeft))
{
+ item->DrawSelection(this, &dcmem, rcDraw, pdis->itemState);
+
CRect rcText= rcDraw;
rcText.DeflateRect(TEXT_X_MARGIN, 0);
CSetBkMode bk(&dcmem, TRANSPARENT);
CSelectObject sofont(&dcmem, GetFont());
- CString s= item->GetText(i);
- UINT align= IsColumnRightAligned(i) ? DT_RIGHT : DT_LEFT;
- CSetTextColor tc(&dcmem, GetSysColor(COLOR_WINDOWTEXT));
+ CString s= item->GetText(subitem);
+ UINT align= IsColumnRightAligned(subitem) ? DT_RIGHT : DT_LEFT;
+
+ CSetTextColor tc(&dcmem, GetItemSelectionTextColor(pdis->itemID));
dcmem.DrawText(s, rcText, DT_SINGLELINE | DT_VCENTER | DT_WORD_ELLIPSIS | align);
// Test: dcmem.FillSolidRect(rcDraw, 0);
}
+
+ if (focusLeft > rcDraw.left)
+ {
+ if (drawFocus && i > 0)
+ pdc->DrawFocusRect(rcFocus);
+ rcFocus.left= focusLeft;
+ }
+ rcFocus.right= rcDraw.right;
pdc->BitBlt(rcItem.left + rcDraw.left, rcItem.top + rcDraw.top, rcDraw.Width(), rcDraw.Height(), &dcmem, rcDraw.left, rcDraw.top, SRCCOPY);
}
+
+ if (drawFocus)
+ pdc->DrawFocusRect(rcFocus);
}
bool COwnerDrawnListControl::IsColumnRightAligned(int col)
@@ -375,6 +481,16 @@ CRect COwnerDrawnListControl::GetWholeSubitemRect(int item, int subitem)
return rc;
}
+bool COwnerDrawnListControl::HasFocus()
+{
+ return ::GetFocus() == m_hWnd;
+}
+
+bool COwnerDrawnListControl::IsShowSelectionAlways()
+{
+ return (GetStyle() & LVS_SHOWSELALWAYS) != 0;
+}
+
int COwnerDrawnListControl::GetSubItemWidth(COwnerDrawnListItem *item, int subitem)
{
int width;
@@ -382,7 +498,8 @@ int COwnerDrawnListControl::GetSubItemWidth(COwnerDrawnListItem *item, int subit
CClientDC dc(this);
CRect rc(0, 0, 1000, 1000);
- if (item->DrawSubitem(subitem, &dc, rc, 0, &width))
+ int dummy= rc.left;
+ if (item->DrawSubitem(subitem, &dc, rc, 0, &width, &dummy))
return width;
CString s= item->GetText(subitem);
diff --git a/windirstat/ownerdrawnlistcontrol.h b/windirstat/ownerdrawnlistcontrol.h
index b5a930c..b055363 100644
--- a/windirstat/ownerdrawnlistcontrol.h
+++ b/windirstat/ownerdrawnlistcontrol.h
@@ -39,12 +39,20 @@ public:
COwnerDrawnListItem();
virtual ~COwnerDrawnListItem();
+ // This text is drawn, if DrawSubitem returns false
virtual CString GetText(int subitem) const =0;
- virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const =0;
+
+ // Returnvalue is true, if the item draws itself.
+ // whith != NULL -> only determine width, do not draw.
+ // If focus rectangle shall not begin leftmost, set *focusLeft
+ // to the left edge of the desired focus rectangle.
+ virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const =0;
+
virtual void DrawAdditionalState(CDC * /*pdc*/, const CRect& /*rcLabel*/) const {}
+ void DrawSelection(COwnerDrawnListControl *list, CDC *pdc, CRect rc, UINT state) const;
protected:
- void DrawLabel(COwnerDrawnListControl *list, CImageList *il, CDC *pdc, CRect& rc, UINT state, int *width, bool indent = true) const;
+ void DrawLabel(COwnerDrawnListControl *list, CImageList *il, CDC *pdc, CRect& rc, UINT state, int *width, int *focusLeft, bool indent = true) const;
void DrawPercentage(CDC *pdc, CRect rc, double fraction, COLORREF color) const;
};
@@ -65,14 +73,24 @@ public:
int GetRowHeight();
void ShowGrid(bool show);
void ShowStripes(bool show);
+ void ShowFullRowSelection(bool show);
+ bool IsFullRowSelection();
COLORREF GetWindowColor();
COLORREF GetStripeColor();
+ COLORREF GetNonFocusHighlightColor();
+ COLORREF GetNonFocusHighlightTextColor();
+ COLORREF GetHighlightColor();
+ COLORREF GetHighlightTextColor();
+
bool IsItemStripeColor(int i);
bool IsItemStripeColor(const COwnerDrawnListItem *item);
COLORREF GetItemBackgroundColor(int i);
COLORREF GetItemBackgroundColor(const COwnerDrawnListItem *item);
-
+ COLORREF GetItemSelectionBackgroundColor(int i);
+ COLORREF GetItemSelectionBackgroundColor(const COwnerDrawnListItem *item);
+ COLORREF GetItemSelectionTextColor(int i);
+
COwnerDrawnListItem *GetItem(int i);
int FindListItem(const COwnerDrawnListItem *item);
int GetTextXMargin();
@@ -80,6 +98,9 @@ public:
void AdjustColumnWidth(int col);
CRect GetWholeSubitemRect(int item, int subitem);
+ bool HasFocus();
+ bool IsShowSelectionAlways();
+
protected:
void InitializeColors();
virtual void DrawItem(LPDRAWITEMSTRUCT pdis);
@@ -89,6 +110,7 @@ protected:
int m_rowHeight; // Height of an item
bool m_showGrid; // Whether to draw a grid
bool m_showStripes; // Whether to show stripes
+ bool m_showFullRowSelection; // Whether to draw full row selection
int m_yFirstItem; // Top of a first list item
COLORREF m_windowColor; // The default background color if !m_showStripes
COLORREF m_stripeColor; // The stripe color, used for every other item if m_showStripes
diff --git a/windirstat/resource.h b/windirstat/resource.h
index 4dc7f0e..6fcb50b 100644
--- a/windirstat/resource.h
+++ b/windirstat/resource.h
@@ -131,6 +131,8 @@
#define IDC_TREEMAPGRIDCOLOR 1030
#define IDC_SHOWGRID2 1030
#define IDC_SHOWSTRIPES 1030
+#define IDC_SHOWGRID3 1031
+#define IDC_FULLROWSELECTION 1031
#define IDC_RESET 1034
#define IDC_LIST 1036
#define IDC_TITLE 1037
diff --git a/windirstat/typeview.cpp b/windirstat/typeview.cpp
index b0379a6..a5e9fce 100644
--- a/windirstat/typeview.cpp
+++ b/windirstat/typeview.cpp
@@ -41,11 +41,11 @@ CExtensionListControl::CListItem::CListItem(CExtensionListControl *list, LPCTSTR
m_image= -1;
}
-bool CExtensionListControl::CListItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const
+bool CExtensionListControl::CListItem::DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const
{
if (subitem == COL_EXTENSION)
{
- DrawLabel(m_list, GetMyImageList(), pdc, rc, state, width);
+ DrawLabel(m_list, GetMyImageList(), pdc, rc, state, width, focusLeft);
}
else if (subitem == COL_COLOR)
{
@@ -59,7 +59,7 @@ bool CExtensionListControl::CListItem::DrawSubitem(int subitem, CDC *pdc, CRect
return true;
}
-void CExtensionListControl::CListItem::DrawColor(CDC *pdc, CRect rc, UINT /*state*/, int *width) const
+void CExtensionListControl::CListItem::DrawColor(CDC *pdc, CRect rc, UINT state, int *width) const
{
if (width != NULL)
{
@@ -67,6 +67,8 @@ void CExtensionListControl::CListItem::DrawColor(CDC *pdc, CRect rc, UINT /*stat
return;
}
+ DrawSelection(m_list, pdc, rc, state);
+
rc.DeflateRect(2, 3);
if (rc.right <= rc.left || rc.bottom <= rc.top)
@@ -278,7 +280,7 @@ void CExtensionListControl::SelectExtension(LPCTSTR ext)
}
if (i < GetItemCount())
{
- SetItemState(i, LVIS_SELECTED, LVIS_SELECTED);
+ SetItemState(i, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
EnsureVisible(i, false);
}
}
@@ -408,6 +410,7 @@ int CTypeView::OnCreate(LPCREATESTRUCT lpCreateStruct)
m_extensionListControl.ShowGrid(GetOptions()->IsListGrid());
m_extensionListControl.ShowStripes(GetOptions()->IsListStripes());
+ m_extensionListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection());
m_extensionListControl.Initialize();
return 0;
@@ -462,6 +465,7 @@ void CTypeView::OnUpdate(CView * /*pSender*/, LPARAM lHint, CObject *)
case HINT_LISTSTYLECHANGED:
m_extensionListControl.ShowGrid(GetOptions()->IsListGrid());
m_extensionListControl.ShowStripes(GetOptions()->IsListStripes());
+ m_extensionListControl.ShowFullRowSelection(GetOptions()->IsListFullRowSelection());
break;
default:
diff --git a/windirstat/typeview.h b/windirstat/typeview.h
index 8abfb80..2776730 100644
--- a/windirstat/typeview.h
+++ b/windirstat/typeview.h
@@ -48,7 +48,7 @@ protected:
public:
CListItem(CExtensionListControl *list, LPCTSTR extension, SExtensionRecord r);
- virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width) const;
+ virtual bool DrawSubitem(int subitem, CDC *pdc, CRect rc, UINT state, int *width, int *focusLeft) const;
virtual CString GetText(int subitem) const;
CString GetExtension() const;
diff --git a/windirstat/windirstat.rc b/windirstat/windirstat.rc
index 6288eb2..4825b16 100644
--- a/windirstat/windirstat.rc
+++ b/windirstat/windirstat.rc
@@ -36,8 +36,8 @@ END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
- "#include ""../common/version.h""\r\n"
- "\0"
+ "#include ""../common/version.h""\r\n"
+ "\0"
END
3 TEXTINCLUDE
@@ -450,13 +450,15 @@ BEGIN
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,32,13,229,10
CONTROL "&Show Sizes in GB/MB/KB/Bytes Format",IDC_HUMANFORMAT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,32,32,229,10
- GROUPBOX "&List Style",IDC_STATIC,30,52,90,45
+ GROUPBOX "&List Style",IDC_STATIC,30,52,90,65
+ CONTROL "&Full Row Selection",IDC_FULLROWSELECTION,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,38,67,75,10
CONTROL "Show &Grid",IDC_SHOWGRID,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,38,65,68,10
+ WS_TABSTOP,38,84,68,10
CONTROL "Show S&tripes",IDC_SHOWSTRIPES,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,38,81,68,10
- LTEXT "&Language",IDC_STATIC,32,115,166,8
- COMBOBOX IDC_COMBO,32,128,156,140,CBS_DROPDOWNLIST | CBS_SORT |
+ WS_TABSTOP,38,101,68,10
+ LTEXT "&Language",IDC_STATIC,32,135,166,8
+ COMBOBOX IDC_COMBO,32,148,156,140,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
END
@@ -520,7 +522,6 @@ BEGIN
END
-
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
@@ -757,7 +758,7 @@ END
STRINGTABLE
BEGIN
IDS_RESOURCEVERSION "Resource Version 3"
- IDS_ABOUT_ABOUTTEXTss "\r\nWinDirStat - Directory Statistics\r\n\r\n""Shows where all your disk space has gone\r\nand helps you clean it up.""\r\n\r\nRe-programmed for MS Windows by\r\nBernhard Seifert (mailto:%1!s!),\r\n\r\nbased on Stefan Hundhammer's KDE (Linux) program KDirStat\r\n(http://kdirstat.sourceforge.net/).\r\n\r\nWinDirStat's home is http://%2!s!/\r\n\r\nFrench translation: Pascal Delrot (mailto:tigroo@users.sourceforge.net).\r\n\r\nCopyright (c) 2003-2004 Bernhard Seifert"
+ IDS_ABOUT_ABOUTTEXTss "\r\nWinDirStat - Directory Statistics\r\n\r\n""Shows where all your disk space has gone\r\nand helps you clean it up.""\r\n\r\nRe-programmed for MS Windows by\r\nBernhard Seifert (mailto:%1!s!),\r\n\r\nbased on Stefan Hundhammer's KDE (Linux) program KDirStat\r\n(http://kdirstat.sourceforge.net/).\r\n\r\nWinDirStat's home is http://%2!s!/\r\n\r\nCopyright (c) 2003-2004 Bernhard Seifert"
IDS_ABOUT_THANKSTOTEXT "\r\nStefan Hundhammer for his superb Linux tool KDirStat.\r\nUsing KDirStat (2.3.7) as a specification saved me a lot of time.\r\nhttp://kdirstat.sourceforge.net/\r\n\r\nThe authors of SequoiaView for showing just how useful treemaps really can be.\r\nhttp://www.win.tue.nl/sequoiaview/\r\n\r\nJarke J. van Wijk, Huub van de Wetering, Mark Bruls and Kees Huizing\r\nfor their papers about cushion treemaps and squarified treemaps.\r\nhttp://www.win.tue.nl/~vanwijk/\r\n\r\nBen Shneiderman for his ingenious idea of treemaps -\r\na truly intuitive way of visualizing tree contents.\r\nhttp://www.cs.umd.edu/hcil/treemap-history/\r\n\r\nMy colleagues for their feedback on the early releases of WinDirStat.\r\nhttp://www.daccord.net/\r\n\r\nBeatrix Lödige and Nick Lines for beta testing.\r\n"
IDS_ABOUT_ABOUT "About"
IDS_ABOUT_THANKSTO "Thanks To"