Add List for folder
This commit is contained in:
parent
ccde4afeec
commit
9dbe2955f1
|
@ -0,0 +1,35 @@
|
|||
<svg width="64" height="64" version="1.1" viewBox="0 0 16.933 16.933" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<linearGradient id="linearGradient1769" x1="445.28" x2="445.28" y1="179.28" y2="200.07" gradientTransform="matrix(.38956 0 0 .38184 -165.52 -63.44)" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#60c0f0" offset="0"/>
|
||||
<stop stop-color="#83d4fb" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient860" x1="8.4667" x2="8.4667" y1="293.3" y2="292.77" gradientTransform="translate(0,-280.07)" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#008ea2" stop-opacity=".25" offset="0"/>
|
||||
<stop stop-color="#fff" stop-opacity=".15" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient868" x1="8.4667" x2="8.4667" y1="294.62" y2="293.56" gradientTransform="matrix(.99998 0 0 .99998 0 -280.06)" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#008ea2" stop-opacity=".25098" offset="0"/>
|
||||
<stop stop-color="#008ea2" stop-opacity=".15" offset=".75678"/>
|
||||
<stop stop-color="#fff" stop-opacity=".15" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient897" x1="6.8792" x2="6.8792" y1="285.36" y2="283.77" gradientTransform="matrix(.99998 0 0 .99998 0 -280.06)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0"/>
|
||||
<stop stop-opacity="0" offset="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient907" x1="1.0583" x2="15.875" y1="289.59" y2="289.59" gradientTransform="translate(0,-280.07)" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#46a2d7" stop-opacity=".5" offset="0"/>
|
||||
<stop stop-color="#46a2d7" stop-opacity="0" offset=".10783"/>
|
||||
<stop stop-color="#46a2d7" stop-opacity=".095808" offset=".89398"/>
|
||||
<stop stop-color="#46a2d7" stop-opacity=".5" offset="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<image x=".52916" y="1.969" width="15.875" height="13.229" image-rendering="optimizeQuality" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAyCAYAAAAA9rgCAAAACXBIWXMAAA7XAAAO1wFxhj+8AAAA GXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAbVJREFUaIHtml9TglAQRw9/jMrR 6a3v//2q0azMFOhhuXJLRgHv5G3dM8PgqHA57C68/BIOSbxtCLW3RUvy63MOFMAESOkvXQMlsAW+ gB2RiifevgDmwANwB2QDz7UD1sASWAEboApzmeHIaSs7Bx6Bmff9EGpgCtwjN2+B3ICSiKqdN/sC qewMaeehsjTH3CCd4UbjBXhHWv0S0gdrukpOkDYeU1kf1y3T5pwF0uJviHTVdREd5+izzilqZMxK vNFyglmznSPrkyKyGdLia2Sm+1T61BsiPXGsYwd8Ijd7TXOzc++PoWT9xSe07V0RpsJD3hwbpMOe kNEq86OHhMG1+SVm2D1TSuR1Wf2FsCN0B/Vd8xZ5GC+Ar2PzoIWMdrSSaxAG7xllwtoxYe2YsHZM WDsmrB0T1o4Ja8eEtWPC2jFh7ZiwdkxYOyasHRPWjglr52qFo48MnsneL6WNDfYJnPxHasStBGon vEWiPdFmJEfislofNJEpl82q+RkzukQAJTROdgU8I3mtKvd+WNJmm8aES2OjRLp2AbzSdG+o+HBs uLndIgXcj2qX0NiAeGx0Bta/AZSga/2YDpsuAAAAAElFTkSuQmCC "/>
|
||||
<path d="m2.21 2.38h2.695c0.75074 0 0.78302 0.0285 1.5421 0.62962 0.78159 0.5904 0.94779 0.607 1.8636 0.607l6.4126-0.0524c0.638-5e-3 1.1517 0.51363 1.1517 1.1516v6.77c0 0.63802-0.51364 1.1517-1.1517 1.1517h-12.513c-0.63802 0-1.1517-0.51364-1.1517-1.1517v-7.9542c0-0.63802 0.51364-1.1517 1.1517-1.1517z" fill="#46a2d7"/>
|
||||
<path d="m2.2102 2.3812c-0.63801 0-1.1518 0.51384-1.1518 1.1518v2.8167h14.816v-1.633c0-0.63801-0.51387-1.1563-1.1518-1.1513l-6.4124 0.052194c-0.91582 0-1.0818-0.016798-1.8634-0.60718-0.75908-0.6011-0.79128-0.62941-1.542-0.62941h-2.695z" fill="url(#linearGradient897)" opacity=".35" stroke-width=".26458"/>
|
||||
<rect x="1.0583" y="4.49" width="14.817" height="10.054" rx="1.1517" ry="1.1288" fill="url(#linearGradient1769)"/>
|
||||
<rect x="1.0583" y="12.7" width="14.817" height=".52915" fill="url(#linearGradient860)"/>
|
||||
<path d="m1.0655 13.494c0.03752 0.59168 0.5312 1.0583 1.1446 1.0583h12.513c0.6134 0 1.1071-0.46664 1.1446-1.0583h-14.802z" fill="url(#linearGradient868)" stroke-width=".26458"/>
|
||||
<rect x="1.0583" y="4.49" width="14.817" height="10.054" rx="1.1517" ry="1.1288" fill="url(#linearGradient907)"/>
|
||||
<path d="m2.2102 4.4979c-0.63801 0-1.1518 0.50323-1.1518 1.1286v0.23512c0-0.6089 0.51384-1.0991 1.1518-1.0991h12.513c0.63801 0 1.1518 0.49024 1.1518 1.0991v-0.23512c0-0.62536-0.51384-1.1286-1.1518-1.1286z" fill="#fff" opacity=".1" stroke-width=".26458"/>
|
||||
</svg>
|
After Width: | Height: | Size: 4.0 KiB |
|
@ -0,0 +1,13 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#363636;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 7 3.0058594 L 7 8 L 2 8 L 2 8.9980469 L 7 8.9980469 L 7 14.007812 L 8 14.007812 L 8 8.9980469 L 13 8.9980469 L 13 8 L 8 8 L 8 3.0058594 L 7 3.0058594 z "
|
||||
class="ColorScheme-Text"
|
||||
/>
|
||||
</svg>
|
After Width: | Height: | Size: 490 B |
|
@ -0,0 +1,8 @@
|
|||
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||
color:#363636;
|
||||
}</style>
|
||||
</defs>
|
||||
<path class="ColorScheme-Text" d="m3 8v1h10v-1z" fill="currentColor"/>
|
||||
</svg>
|
After Width: | Height: | Size: 281 B |
|
@ -22,19 +22,21 @@ link_directories (${GTKMM3_LIBRARY_DIRS})
|
|||
|
||||
#Compile Resource
|
||||
|
||||
#set(RESOURCE_LIST
|
||||
#stack.ui)
|
||||
set(RESOURCE_LIST
|
||||
icons/16x16/actions/list-add.svg
|
||||
icons/16x16/actions/list-remove.svg
|
||||
folder.svg)
|
||||
|
||||
#compile_gresources(RESOURCE_FILE
|
||||
#XML_OUT
|
||||
#TYPE EMBED_C
|
||||
#RESOURCES ${RESOURCE_LIST}
|
||||
#PREFIX "/org/gtk/daleclack"
|
||||
#SOURCE_DIR ${PROJECT_SOURCE_DIR}/res)
|
||||
compile_gresources(RESOURCE_FILE
|
||||
XML_OUT
|
||||
TYPE EMBED_C
|
||||
RESOURCES ${RESOURCE_LIST}
|
||||
PREFIX "/org/gtk/daleclack"
|
||||
SOURCE_DIR ${PROJECT_SOURCE_DIR}/../default_res)
|
||||
|
||||
# Add a custom target to the makefile. Now make builds our resource file.
|
||||
# It depends on the output RESOURCE_FILE.
|
||||
#add_custom_target(resource ALL DEPENDS ${RESOURCE_FILE})
|
||||
add_custom_target(resource ALL DEPENDS ${RESOURCE_FILE})
|
||||
|
||||
#For win32 platform,use rc resource and .ico icon
|
||||
if(WIN32)
|
||||
|
@ -43,9 +45,9 @@ if(WIN32)
|
|||
set_property(SOURCE ../icon.rc APPEND PROPERTY
|
||||
OBJECT_DEPENDS ${PROJECT_SOURCE_DIR}/../icon.ico
|
||||
)
|
||||
add_executable(${PROJECT_NAME} WIN32 ${app_WINRC} src/main.cc src/MyWin.cc src/MyPrefs.cc)
|
||||
add_executable(${PROJECT_NAME} WIN32 ${app_WINRC} src/main.cc src/MyWin.cc src/MyPrefs.cc ${RESOURCE_FILE})
|
||||
else()
|
||||
add_executable(${PROJECT_NAME} src/main.cc src/MyWin.cc src/MyPrefs.cc)
|
||||
add_executable(${PROJECT_NAME} src/main.cc src/MyWin.cc src/MyPrefs.cc ${RESOURCE_FILE})
|
||||
|
||||
endif(WIN32)
|
||||
|
||||
|
|
|
@ -15,11 +15,23 @@ btnbox(Gtk::ORIENTATION_HORIZONTAL,5)
|
|||
images_store = Gtk::ListStore::create(n_columns);
|
||||
images_view.set_model(images_store);
|
||||
|
||||
// Load Pixbufs
|
||||
auto pixbuf = Gdk::Pixbuf::create_from_resource("/org/gtk/daleclack/folder.svg");
|
||||
folder_pixbuf = pixbuf->scale_simple(24,24,Gdk::INTERP_BILINEAR);
|
||||
|
||||
// Add Default Value for folders view
|
||||
auto row = *(folders_store->append());
|
||||
row[n_columns.m_col_name] = Glib::get_home_dir();
|
||||
row[n_columns.m_col_path] = Glib::get_home_dir();
|
||||
row[n_columns.m_col_name] = "User's Home";
|
||||
row[n_columns.m_col_pixbuf] = folder_pixbuf;
|
||||
folders_view.append_column(" ",n_columns.m_col_pixbuf);
|
||||
folders_view.append_column("Folders", n_columns.m_col_name);
|
||||
|
||||
row = *(folders_store->append());
|
||||
row[n_columns.m_col_path] = Glib::get_user_special_dir(Glib::USER_DIRECTORY_PICTURES);
|
||||
row[n_columns.m_col_name] = "User's Pictures Directory";
|
||||
row[n_columns.m_col_pixbuf] = folder_pixbuf;
|
||||
|
||||
// Default Value for imags view
|
||||
row = *(images_store->append());
|
||||
row[n_columns.m_col_name] = "Test";
|
||||
|
@ -33,6 +45,11 @@ btnbox(Gtk::ORIENTATION_HORIZONTAL,5)
|
|||
views_box.pack_start(sw_images);
|
||||
|
||||
// Add Control Buttons
|
||||
btnadd.set_image_from_icon_name("list-add");
|
||||
btnadd.signal_clicked().connect(sigc::mem_fun(*this, &MyPrefs::btnadd_clicked));
|
||||
btnremove.set_image_from_icon_name("list-remove");
|
||||
btnbox.pack_start(btnadd, Gtk::PACK_SHRINK);
|
||||
btnbox.pack_start(btnremove, Gtk::PACK_SHRINK);
|
||||
main_box.pack_start(btnbox, Gtk::PACK_SHRINK);
|
||||
|
||||
// Add Main Box to window
|
||||
|
@ -45,6 +62,40 @@ btnbox(Gtk::ORIENTATION_HORIZONTAL,5)
|
|||
show_all_children();
|
||||
}
|
||||
|
||||
void MyPrefs::set_background(Gtk::Image *back){
|
||||
void MyPrefs::btnadd_clicked()
|
||||
{
|
||||
// Create a dialog
|
||||
dialog = Gtk::FileChooserNative::create("Add a folder", *this,
|
||||
Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER, "OK", "Cancel");
|
||||
|
||||
dialog->signal_response().connect(sigc::mem_fun(*this, &MyPrefs::dialog_response));
|
||||
|
||||
dialog->show();
|
||||
}
|
||||
|
||||
void MyPrefs::dialog_response(int response_id)
|
||||
{
|
||||
if (response_id == Gtk::RESPONSE_ACCEPT)
|
||||
{
|
||||
// Get File Basename and Path
|
||||
auto file = dialog->get_file();
|
||||
auto basename = file->get_basename();
|
||||
auto filename = file->get_path();
|
||||
|
||||
// Add to list
|
||||
auto row = *(folders_store->append());
|
||||
row[n_columns.m_col_path] = filename;
|
||||
row[n_columns.m_col_name] = basename;
|
||||
row[n_columns.m_col_pixbuf] = folder_pixbuf;
|
||||
|
||||
file.reset();
|
||||
}
|
||||
dialog.reset();
|
||||
}
|
||||
|
||||
void MyPrefs::btnremove_clicked() {}
|
||||
|
||||
void MyPrefs::set_background(Gtk::Image *back)
|
||||
{
|
||||
background1 = back;
|
||||
}
|
||||
|
|
|
@ -14,8 +14,12 @@ protected:
|
|||
public:
|
||||
ModelColumns()
|
||||
{
|
||||
add(m_col_pixbuf);
|
||||
add(m_col_path);
|
||||
add(m_col_name);
|
||||
}
|
||||
Gtk::TreeModelColumn<Glib::RefPtr<Gdk::Pixbuf>> m_col_pixbuf;
|
||||
Gtk::TreeModelColumn<std::string> m_col_path;
|
||||
Gtk::TreeModelColumn<Glib::ustring> m_col_name;
|
||||
};
|
||||
|
||||
|
@ -31,4 +35,13 @@ private:
|
|||
Gtk::ScrolledWindow sw_folders, sw_images;
|
||||
Gtk::Box main_box, views_box, btnbox;
|
||||
Gtk::Button btnadd, btnremove;
|
||||
|
||||
//Folder Open Dialog
|
||||
Glib::RefPtr<Gdk::Pixbuf> folder_pixbuf;
|
||||
Glib::RefPtr<Gtk::FileChooserNative> dialog;
|
||||
void dialog_response(int response_id);
|
||||
|
||||
//Signal Handlers
|
||||
void btnadd_clicked();
|
||||
void btnremove_clicked();
|
||||
};
|
|
@ -33,6 +33,7 @@ MyWin::MyWin()
|
|||
show_all_children();
|
||||
}
|
||||
|
||||
void MyWin::btnback_clicked(){
|
||||
void MyWin::btnback_clicked()
|
||||
{
|
||||
prefs_win.show_all();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue