void CDialogPref::OnButtonExportBnClicked(WORD wNotifyCode, WORD wID, HWND hWndCtl)
{
    pfc::string8_fast filename, lang_filetype, lang_saveas;

    if (uGetOpenFileName(m_hWnd, load_lang(IDS_CONF_IMPORT_FILETYPE, lang_filetype), 0, "cfg", load_lang(IDS_IMPORT_SAVE_AS, lang_saveas), NULL, filename, TRUE))
        g_sci_prop_sets.export_to_file(filename);
}
LRESULT CDialogProperty::OnImportBnClicked(WORD wNotifyCode, WORD wID, HWND hWndCtl)
{
	pfc::string8 filename;

	if (uGetOpenFileName(m_hWnd, "Property files|*.wsp|All files|*.*", 0, "wsp", "Import from", NULL, filename, FALSE))
	{
		file_ptr io;
		abort_callback_dummy abort;

		try
		{
			filesystem::g_open_read(io, filename, abort);
			prop_kv_config::g_load(m_dup_prop_map, io.get_ptr(), abort);
		}
		catch (std::exception &)
		{
			return 0;
		}

		// Refresh display
		LoadProperties(false);
	}

	return 0;
}
Example #3
0
void g_import_layout(HWND wnd)
{
	pfc::string8 path;
	if (uGetOpenFileName(wnd, "Columns UI Layout (*.fcl)|*.fcl|All Files (*.*)|*.*", 0, "fcl", "Import from", NULL, path, FALSE))
	{
		g_import_layout(wnd, path, false);
	}
}
void CDialogPref::OnButtonImportBnClicked(WORD wNotifyCode, WORD wID, HWND hWndCtl)
{
    pfc::string8_fast filename, lang_filetype, lang_import;

    if (uGetOpenFileName(m_hWnd, load_lang(IDS_CONF_IMPORT_FILETYPE, lang_filetype), 0, "cfg", load_lang(IDS_IMPORT_IMPORT, lang_import), NULL, filename, FALSE))
        g_sci_prop_sets.import_from_file(filename);

    LoadProps();
}
LRESULT CDialogProperty::OnExportBnClicked(WORD wNotifyCode, WORD wID, HWND hWndCtl)
{
	pfc::string8 path;

	if (uGetOpenFileName(m_hWnd, "Property files|*.wsp", 0, "wsp", "Save as", NULL, path, TRUE))
	{
		file_ptr io;
		abort_callback_dummy abort;

		try
		{
			filesystem::g_open_write_new(io, path, abort);
			prop_kv_config::g_save(m_dup_prop_map, io.get_ptr(), abort);
		}
		catch (std::exception &)
		{

		}
	}

	return 0;
}
	static BOOL CALLBACK ConfigProc(HWND wnd, UINT msg, WPARAM wp, LPARAM lp)
	{

		switch (msg)
		{
		case WM_INITDIALOG:
		{
			refresh_me(wnd);
			initialised = true;
		}

		break;
		case WM_DESTROY:
		{
			initialised = false;
		}
		break;
		case WM_COMMAND:
			switch (wp)
			{


			case (EN_CHANGE << 16) | IDC_STRING:
				main_window::config_notification_icon_script.set(string_utf8_from_window((HWND)lp));
				break;

			case IDC_NOWPL:
			{
				cfg_np = uSendMessage((HWND)lp, BM_GETCHECK, 0, 0);
			}
			break;
			case IDC_USE_CUSTOM_ICON:
			{
				cfg_custom_icon = uSendMessage((HWND)lp, BM_GETCHECK, 0, 0);
				create_icon_handle(); create_systray_icon();
			}
			break;
			case IDC_BROWSE_ICON:
			{
				pfc::string8 path = cfg_tray_icon_path;
				if (uGetOpenFileName(wnd, "Icon Files (*.ico)|*.ico|All Files (*.*)|*.*", 0, "ico", "Choose Icon", NULL, path, FALSE))
				{
					cfg_tray_icon_path = path;
					if (cfg_custom_icon) { create_icon_handle(); create_systray_icon(); }
				}
			}
			break;


			case IDC_MINIMISE_TO_SYSTRAY:
			{
				cfg_minimise_to_tray = uSendMessage((HWND)lp, BM_GETCHECK, 0, 0);
			}
			break;
			case IDC_SHOW_SYSTRAY:
			{
				cfg_show_systray = uSendMessage((HWND)lp, BM_GETCHECK, 0, 0);
				//				EnableWindow(GetDlgItem(wnd, IDC_MINIMISE_TO_SYSTRAY), cfg_show_systray);

				if (g_main_window)
				{
					auto is_iconic = IsIconic(g_main_window) != 0;
					if (cfg_show_systray && !g_icon_created)
					{
						create_systray_icon();
					}
					else if (!cfg_show_systray && g_icon_created && (!is_iconic || !cfg_minimise_to_tray))
					{
						destroy_systray_icon();
						if (is_iconic)
							standard_commands::main_activate();
					}
					if (g_status) update_systray();
				}
			}
			break;
			case IDC_BALLOON:
			{
				cfg_balloon = uSendMessage((HWND)lp, BM_GETCHECK, 0, 0);
			}
			break;
			}
		}
		return 0;
	}
Example #7
0
void g_export_layout(HWND wnd)
{
	pfc::string8 path;
	FCLDialog pFCLDialog;
	if (/*MessageBox(wnd, _T("Layout setting exporting is available for testing purposes only. FCL files produced will not work with the release version of Columns UI."), _T("Warning"), MB_OK) == IDOK && */uDialogBox (IDD_FCL1, wnd, FCLDialog::g_FCLDialogProc, (LPARAM)&pFCLDialog) && uGetOpenFileName(wnd, "Columns UI Layout (*.fcl)|*.fcl|All Files (*.*)|*.*", 0, "fcl", "Save as", NULL, path, TRUE))
	{
		t_export_feedback_impl feedback;
		pfc::list_t<GUID> groups;
		{
			t_size i, count = pFCLDialog.m_nodes.get_count();
			for (i=0; i<count; i++)
				if (pFCLDialog.m_nodes[i].checked)
					groups.add_item(pFCLDialog.m_nodes[i].group->get_guid());
		}
		try
		{
			service_ptr_t<file> p_file;
			abort_callback_impl p_abort;
			filesystem::g_open_write_new(p_file, path, p_abort);
			p_file->write_lendian_t(g_fcl_header, p_abort);
			p_file->write_lendian_t((t_uint32)fcl_stream_version, p_abort);
			p_file->write_lendian_t((t_uint32)pFCLDialog.get_mode(), p_abort);

			stream_writer_memblock mem;
			t_size actualtotal=0;
			{
				cui::fcl::dataset_list export_items;
				t_size i, count = export_items.get_count();
				pfc::array_t< t_export_feedback_impl > feeds;
				feeds.set_count(count);
				for (i=0; i<count; i++)
				{
					if (groups.have_item(export_items[i]->get_group()))
					{
						pfc::string8 name;
						export_items[i]->get_name(name);
						mem.write_lendian_t(export_items[i]->get_guid(), p_abort);
						mem.write_string(name, p_abort);
						stream_writer_memblock writer;
						export_items[i]->get_data(&writer, pFCLDialog.get_mode(), feeds[i], p_abort);
						t_size j, pcount = feeds[i].get_count();
						mem.write_lendian_t(pcount, p_abort);
						for (j=0; j<pcount; j++)
						{
							t_uint32 temp = feedback.find_or_add_guid(feeds[i][j]);
							mem.write_lendian_t(temp, p_abort);
						}						
						mem.write_lendian_t((t_uint32)writer.m_data.get_size(), p_abort);
						mem.write(writer.m_data.get_ptr(), writer.m_data.get_size(), p_abort);
						actualtotal++;
					}
				}
			}

			{
				t_size j, pcount = feedback.get_count();
				p_file->write_lendian_t(pcount, p_abort);
				for (j=0; j<pcount; j++)
				{
					uie::window_ptr ptr;
					pfc::string8 name;
					if (uie::window::create_by_guid(feedback[j], ptr))
						ptr->get_name(name);
					p_file->write_lendian_t(feedback[j], p_abort);
					p_file->write_string(name, p_abort);
				}
				/*pfc::list_t<uie::window_ptr> windows;
				uie::window_ptr ptr;
				service_enum_t<uie::window> window_enum;
				while (window_enum.next(ptr))
				{
					windows.add_item(ptr);
				}
				t_size i, count = windows.get_count();
				p_file->write_lendian_t(count, p_abort);
				for (i=0; i<count; i++)
				{
					pfc::string8 temp;
					p_file->write_lendian_t(windows[i]->get_extension_guid(), p_abort);
					windows[i]->get_name(temp);
					p_file->write_string(temp, p_abort);
				}*/
			}

			p_file->write_lendian_t(actualtotal, p_abort);
			p_file->write(mem.m_data.get_ptr(), mem.m_data.get_size(), p_abort);
		}
		catch (const pfc::exception & ex)
		{
			abort_callback_impl p_abort;
			try {if (filesystem::g_exists(path, p_abort)) filesystem::g_remove(path, p_abort);} catch (const pfc::exception &) {};
			popup_message::g_show(ex.what(), "Error");
		};
	}
}