Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jlib
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
captainwong
jlib
Commits
23e38982
Commit
23e38982
authored
Oct 10, 2017
by
captainwong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
define JLIB_DISABLE_LOG to disable log system; fix xp support for path op
parent
3380dbb4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
62 additions
and
9 deletions
+62
-9
log2.h
log2.h
+36
-3
file_op.h
win32/file_op.h
+26
-6
No files found.
log2.h
View file @
23e38982
#pragma once
#pragma once
#ifdef JLIB_DISABLE_LOG
namespace
jlib
{
#define init_logger
#define JLOG_INFO
#define JLOG_WARN
#define JLOG_ERRO
#define JLOG_CRTC
#define JLOG_ALL
class
range_log
{
public
:
range_log
()
{}
range_log
(
const
char
*
)
{}
};
#define AUTO_LOG_FUNCTION
#define dump_hex
#define dump_asc
#define JLOG_HEX
#define JLOG_ASC
}
#else // JLIB_DISABLE_LOG
#include <iostream>
#include <iostream>
#include "spdlog/spdlog.h"
#include "spdlog/spdlog.h"
#ifdef WIN32
#ifdef WIN32
...
@@ -14,7 +43,7 @@ namespace jlib{
...
@@ -14,7 +43,7 @@ namespace jlib{
static
const
char
g_logger_name
[]
=
"logger"
;
static
const
char
g_logger_name
[]
=
"logger"
;
inline
void
init_logger
(
const
std
::
string
&
file_name
=
""
)
inline
void
init_logger
(
const
std
::
wstring
&
file_name
=
L
""
)
{
{
try
{
try
{
std
::
vector
<
spdlog
::
sink_ptr
>
sinks
;
std
::
vector
<
spdlog
::
sink_ptr
>
sinks
;
...
@@ -24,7 +53,7 @@ inline void init_logger(const std::string& file_name = "")
...
@@ -24,7 +53,7 @@ inline void init_logger(const std::string& file_name = "")
sinks
.
push_back
(
std
::
make_shared
<
spdlog
::
sinks
::
stdout_sink_mt
>
());
sinks
.
push_back
(
std
::
make_shared
<
spdlog
::
sinks
::
stdout_sink_mt
>
());
sinks
.
push_back
(
std
::
make_shared
<
spdlog
::
sinks
::
daily_file_sink_mt
>
(
sinks
.
push_back
(
std
::
make_shared
<
spdlog
::
sinks
::
daily_file_sink_mt
>
(
#ifdef WIN32
#ifdef WIN32
utf8
::
mbcs_to_u16
(
file_name
+
".log"
)
file_name
+
L".log"
#else
#else
file_name
+
".log"
file_name
+
".log"
#endif
#endif
...
@@ -36,10 +65,11 @@ inline void init_logger(const std::string& file_name = "")
...
@@ -36,10 +65,11 @@ inline void init_logger(const std::string& file_name = "")
#ifdef WIN32
#ifdef WIN32
char
msg
[
1024
]
=
{
0
};
char
msg
[
1024
]
=
{
0
};
sprintf_s
(
msg
,
"Log initialization failed: %s
\n
"
,
ex
.
what
());
sprintf_s
(
msg
,
"Log initialization failed: %s
\n
"
,
ex
.
what
());
OutputDebugStringA
(
msg
);
MessageBoxA
(
nullptr
,
msg
,
"Error"
,
MB_ICONERROR
);
#else
#else
std
::
cerr
<<
"Log initialization failed: "
<<
ex
.
what
()
<<
std
::
endl
;
std
::
cerr
<<
"Log initialization failed: "
<<
ex
.
what
()
<<
std
::
endl
;
#endif
#endif
exit
(
0
);
}
}
}
}
...
@@ -165,4 +195,7 @@ inline void dump_asc(const void* buff, size_t buff_len, bool seperate_with_space
...
@@ -165,4 +195,7 @@ inline void dump_asc(const void* buff, size_t buff_len, bool seperate_with_space
#define JLOG_HEX(b, l) jlib::dump_hex(b, l)
#define JLOG_HEX(b, l) jlib::dump_hex(b, l)
#define JLOG_ASC(b, l) jlib::dump_asc(b, l)
#define JLOG_ASC(b, l) jlib::dump_asc(b, l)
}
}
#endif // end of JLIB_DISABLE_LOG
win32/file_op.h
View file @
23e38982
...
@@ -27,9 +27,19 @@ inline bool get_file_open_dialog_result(std::wstring& path,
...
@@ -27,9 +27,19 @@ inline bool get_file_open_dialog_result(std::wstring& path,
if
(
!
default_folder
.
empty
())
{
if
(
!
default_folder
.
empty
())
{
IShellItem
*
psiFolder
;
IShellItem
*
psiFolder
;
LPCWSTR
szFilePath
=
SysAllocStringLen
(
default_folder
.
data
(),
default_folder
.
size
());
LPCWSTR
szFilePath
=
SysAllocStringLen
(
default_folder
.
data
(),
default_folder
.
size
());
hr
=
SHCreateItemFromParsingName
(
szFilePath
,
NULL
,
IID_PPV_ARGS
(
&
psiFolder
));
//hr = SHCreateItemFromParsingName(szFilePath, NULL, IID_PPV_ARGS(&psiFolder));
if
(
SUCCEEDED
(
hr
))
//if (SUCCEEDED(hr))
hr
=
pFileOpen
->
SetDefaultFolder
(
psiFolder
);
// hr = pFileOpen->SetDefaultFolder(psiFolder);
PIDLIST_ABSOLUTE
pidl
;
hr
=
SHParseDisplayName
(
default_folder
.
data
(),
0
,
&
pidl
,
SFGAO_FOLDER
,
0
);
if
(
SUCCEEDED
(
hr
))
{
hr
=
SHCreateShellItem
(
NULL
,
NULL
,
pidl
,
&
psiFolder
);
if
(
SUCCEEDED
(
hr
))
{
pFileOpen
->
SetDefaultFolder
(
psiFolder
);
}
ILFree
(
pidl
);
}
}
}
if
(
!
ext
.
empty
())
{
if
(
!
ext
.
empty
())
{
...
@@ -98,9 +108,19 @@ inline bool get_save_as_dialog_path(std::wstring& path,
...
@@ -98,9 +108,19 @@ inline bool get_save_as_dialog_path(std::wstring& path,
if
(
!
default_folder
.
empty
())
{
if
(
!
default_folder
.
empty
())
{
IShellItem
*
psiFolder
;
IShellItem
*
psiFolder
;
LPCWSTR
szFilePath
=
SysAllocStringLen
(
default_folder
.
data
(),
default_folder
.
size
());
LPCWSTR
szFilePath
=
SysAllocStringLen
(
default_folder
.
data
(),
default_folder
.
size
());
hr
=
SHCreateItemFromParsingName
(
szFilePath
,
NULL
,
IID_PPV_ARGS
(
&
psiFolder
));
//hr = SHCreateItemFromParsingName(szFilePath, NULL, IID_PPV_ARGS(&psiFolder));
if
(
SUCCEEDED
(
hr
))
//if (SUCCEEDED(hr))
hr
=
pFileSave
->
SetDefaultFolder
(
psiFolder
);
// hr = pFileSave->SetDefaultFolder(psiFolder);
PIDLIST_ABSOLUTE
pidl
;
hr
=
SHParseDisplayName
(
default_folder
.
data
(),
0
,
&
pidl
,
SFGAO_FOLDER
,
0
);
if
(
SUCCEEDED
(
hr
))
{
hr
=
SHCreateShellItem
(
NULL
,
NULL
,
pidl
,
&
psiFolder
);
if
(
SUCCEEDED
(
hr
))
{
pFileSave
->
SetDefaultFolder
(
psiFolder
);
}
ILFree
(
pidl
);
}
}
}
if
(
!
default_name
.
empty
())
{
if
(
!
default_name
.
empty
())
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment