Skip to content

Commit

Permalink
Merge branch 'master' of github.com:baderouaich/xtd
Browse files Browse the repository at this point in the history
  • Loading branch information
baderouaich committed Aug 27, 2024
2 parents fe3e454 + 91925ea commit afa99c7
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 18 deletions.
6 changes: 3 additions & 3 deletions src/xtd.core/include/xtd/basic_string.h
Original file line number Diff line number Diff line change
Expand Up @@ -1606,8 +1606,8 @@ namespace xtd {
/// @return A new quoted basic_string.
/// @remarks for more information see [std::quoted](https://en.cppreference.com/w/cpp/io/manip/quoted).
basic_string quoted(value_type delimiter, value_type escape) const {
std::stringstream ss;
ss << std::quoted(__xtd_convert_to_string<char>(chars_), static_cast<char>(delimiter), static_cast<char>(escape));
std::wstringstream ss;
ss << std::quoted(__xtd_convert_to_string<xtd::wchar>(chars_), static_cast<xtd::wchar>(delimiter), static_cast<xtd::wchar>(escape));
return ss.str();
}

Expand Down Expand Up @@ -3158,7 +3158,7 @@ inline std::basic_string<target_t> __xtd_convert_to_string(std::basic_string<sou
}
}
str.clear();
return std::move(out);
return out;
}

template<>
Expand Down
14 changes: 7 additions & 7 deletions src/xtd.core/src/xtd/date_time.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ date_time_kind date_time::kind() const noexcept {
}

uint32 date_time::millisecond() const noexcept {
return duration_cast<std::chrono::milliseconds>(value_).count() % 1000;
return std::chrono::duration_cast<std::chrono::milliseconds>(value_).count() % 1000;
}

uint32 date_time::minute() const noexcept {
Expand All @@ -199,7 +199,7 @@ uint32 date_time::month() const noexcept {

date_time date_time::now() noexcept {
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
auto now_ticks = duration_cast<xtd::ticks>(now.time_since_epoch()) % ticks_per_second;
auto now_ticks = std::chrono::duration_cast<xtd::ticks>(now.time_since_epoch()) % ticks_per_second;
return from_time_t(std::chrono::system_clock::to_time_t(now), date_time_kind::local).add(now_ticks);
}

Expand Down Expand Up @@ -333,7 +333,7 @@ date_time date_time::from_time_t(std::time_t value) {
}

date_time date_time::from_time_t(std::time_t value, date_time_kind kind) {
return date_time::specify_kind(date_time(duration_cast<xtd::ticks>(std::chrono::seconds(value) + seconds_offset_1970), date_time_kind::utc), kind);
return date_time::specify_kind(date_time(std::chrono::duration_cast<xtd::ticks>(std::chrono::seconds(value) + seconds_offset_1970), date_time_kind::utc), kind);
}

date_time date_time::from_tm(const tm& value) {
Expand Down Expand Up @@ -362,7 +362,7 @@ std::vector<string> date_time::get_date_time_formats() const noexcept {

bool date_time::is_daylight_saving_time() const noexcept {
if (kind_ != date_time_kind::local) return false;
return native::date_time::is_daylight((duration_cast<std::chrono::seconds>(value_) - seconds_offset_1970).count());
return native::date_time::is_daylight((std::chrono::duration_cast<std::chrono::seconds>(value_) - seconds_offset_1970).count());
}

bool date_time::is_leap_year(uint32 year) {
Expand Down Expand Up @@ -398,7 +398,7 @@ date_time date_time::subtract(const time_span& value) const {
}

int64 date_time::to_binary() const {
return (duration_cast<std::chrono::seconds>(value_).count() & 0x3FFFFFFFFFFFFFFFLL) + ((as<int64>(kind_) << 62) & 0xC000000000000000LL);
return (std::chrono::duration_cast<std::chrono::seconds>(value_).count() & 0x3FFFFFFFFFFFFFFFLL) + ((as<int64>(kind_) << 62) & 0xC000000000000000LL);
}

int64 date_time::to_file_time() const {
Expand Down Expand Up @@ -505,7 +505,7 @@ string date_time::to_string(const string& format, const std::locale& loc) const
}

std::time_t date_time::to_time_t() const {
return (duration_cast<std::chrono::seconds>(date_time::specify_kind(*this, date_time_kind::utc).value_) - seconds_offset_1970).count();
return (std::chrono::duration_cast<std::chrono::seconds>(date_time::specify_kind(*this, date_time_kind::utc).value_) - seconds_offset_1970).count();
}

std::tm date_time::to_tm() const {
Expand Down Expand Up @@ -609,7 +609,7 @@ std::tuple<uint32, uint32, uint32, uint32, uint32, uint32, uint32, int32> date_t
}

xtd::ticks date_time::utc_offset() const {
return duration_cast<xtd::ticks>(std::chrono::seconds(native::date_time::utc_offset((duration_cast<std::chrono::seconds>(value_) - seconds_offset_1970).count())));
return std::chrono::duration_cast<xtd::ticks>(std::chrono::seconds(native::date_time::utc_offset((std::chrono::duration_cast<std::chrono::seconds>(value_) - seconds_offset_1970).count())));
}

void date_time::set_date_time(uint32 year, uint32 month, uint32 day, uint32 hour, uint32 minute, uint32 second, uint32 millisecond, date_time_kind kind) {
Expand Down
24 changes: 16 additions & 8 deletions tests/xtd.forms.manual_tests/src/manual_tests.cpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
#include <xtd/xtd>

using namespace xtd;
using namespace xtd::drawing;
using namespace xtd::forms;

class form1 : public form {
public:
form1() {
text("Forms manual test");
}
};
using namespace xtd::io;

auto main()->int {
application::run(form1 {});
console::write_line("application_resources = {}", xtd::environment::get_folder_path(xtd::environment::special_folder::application_resources));
auto form1 = form::create("form1");
auto button1 = button::create(form1, "Take a\nscreenshot", {10, 10});
button1.auto_size(true);
button1.click += [&] {
form1.hide();
application::do_events();
auto b = bitmap {screen::primary_screen().bounds().width(), screen::primary_screen().bounds().height()};
b.create_graphics().copy_from_screen({0, 0}, {0, 0}, screen::primary_screen().bounds().size());
b.save(path::combine(environment::get_folder_path(environment::special_folder::desktop), "screenshot.png"));
form1.show();
};
application::run(form1);
}

0 comments on commit afa99c7

Please sign in to comment.