summaryrefslogtreecommitdiff
path: root/shell/source/win32/shlxthandler/propsheets/listviewbuilder.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'shell/source/win32/shlxthandler/propsheets/listviewbuilder.cxx')
-rw-r--r--shell/source/win32/shlxthandler/propsheets/listviewbuilder.cxx84
1 files changed, 13 insertions, 71 deletions
diff --git a/shell/source/win32/shlxthandler/propsheets/listviewbuilder.cxx b/shell/source/win32/shlxthandler/propsheets/listviewbuilder.cxx
index 8d659582c642..bc3561db7710 100644
--- a/shell/source/win32/shlxthandler/propsheets/listviewbuilder.cxx
+++ b/shell/source/win32/shlxthandler/propsheets/listviewbuilder.cxx
@@ -50,10 +50,7 @@
list_view_builder_ptr create_list_view_builder(
HWND hwnd_lv, const std::wstring& col1, const std::wstring& col2)
{
- if (is_windows_xp_or_above())
- return list_view_builder_ptr(new winxp_list_view_builder(hwnd_lv, col1, col2));
- else
- return list_view_builder_ptr(new list_view_builder(hwnd_lv, col1, col2));
+ return list_view_builder_ptr(new list_view_builder(hwnd_lv, col1, col2));
}
@@ -64,7 +61,9 @@ list_view_builder::list_view_builder(
row_index_(-1),
hwnd_list_view_(hwnd_list_view),
column1_title_(column1_title),
- column2_title_(column2_title)
+ column2_title_(column2_title),
+ group_count_(-1),
+ row_count_(0)
{
}
@@ -121,73 +120,11 @@ void list_view_builder::setup_list_view()
header = GetResString(IDS_PROPERTY_VALUE);
lvc.pszText = const_cast<wchar_t*>(header.c_str());
ListView_InsertColumnW(hwnd_list_view_, 1, &lvc);
+ ListView_EnableGroupView(hwnd_list_view_, TRUE);
}
-void list_view_builder::insert_group(const std::wstring& /*title*/)
-{
- insert_item(L"", L"", false);
-}
-
-
-void list_view_builder::insert_item(const std::wstring& title, const std::wstring& value, bool is_editable)
-{
- LVITEMW lvi;
-
- lvi.iItem = ++row_index_;
- lvi.iSubItem = 0;
- lvi.mask = LVIF_TEXT;
- lvi.state = 0;
- lvi.cchTextMax = static_cast<int>(title.size() + 1);
- lvi.stateMask = 0;
- lvi.pszText = const_cast<wchar_t*>(title.c_str());
-
- if (title.length() > 0)
- {
- lvi.mask |= LVIF_IMAGE;
-
- if (is_editable)
- lvi.iImage = 4;
- else
- lvi.iImage = 3;
- }
-
- ListView_InsertItemW(hwnd_list_view_, &lvi);
-
- lvi.mask = LVIF_TEXT;
- lvi.iSubItem = 1;
- lvi.pszText = const_cast<wchar_t*>(value.c_str());
-
- ListView_SetItemW(hwnd_list_view_, &lvi);
-}
-
-
-HWND list_view_builder::get_list_view() const
-{
- return hwnd_list_view_;
-}
-
-
-winxp_list_view_builder::winxp_list_view_builder(
- HWND hwnd_list_view,
- const std::wstring& column1_title,
- const std::wstring& column2_title) :
- list_view_builder(hwnd_list_view, column1_title, column2_title),
- group_count_(-1),
- row_count_(0)
-{
-}
-
-
-void winxp_list_view_builder::setup_list_view()
-{
- list_view_builder::setup_list_view();
-
- ListView_EnableGroupView(get_list_view(), TRUE);
-}
-
-
-void winxp_list_view_builder::insert_group(const std::wstring& name)
+void list_view_builder::insert_group(const std::wstring& name)
{
LVGROUP lvg;
@@ -205,8 +142,7 @@ void winxp_list_view_builder::insert_group(const std::wstring& name)
}
-void winxp_list_view_builder::insert_item(
- const std::wstring& title, const std::wstring& value, bool is_editable)
+void list_view_builder::insert_item(const std::wstring& title, const std::wstring& value, bool is_editable)
{
LVITEMW lvi;
@@ -239,4 +175,10 @@ void winxp_list_view_builder::insert_item(
row_count_++;
}
+
+HWND list_view_builder::get_list_view() const
+{
+ return hwnd_list_view_;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */